NetSuite已保存搜索结果公式可用修饰符与符号查询
我整理了NetSuite已保存搜索中CASE WHEN语句支持的所有常用比较修饰符——除了你提到的>、<、=之外,这些实用选项也能帮你实现更灵活的结果配置:
不等于:
!=或<>
两种写法在NetSuite里都支持,用于匹配和指定值不相等的记录。
示例:CASE WHEN {altname} != 'test' THEN '<font color="#006400">'||{altname}||'</font>' END大于等于:
>=
适用于数字、日期类型字段,匹配大于或等于指定值的记录。
示例(假设{amount}为数字字段):CASE WHEN {amount} >= 1000 THEN '<font color="red">'||{amount}||'</font>' END小于等于:
<=
同样支持数字、日期字段,匹配小于或等于指定值的记录。
示例(日期字段):CASE WHEN {trandate} <= '2024-01-01' THEN '<font color="gray">'||{trandate}||'</font>' END模糊匹配:
LIKE
针对字符串字段做部分匹配,配合通配符%(匹配任意长度字符)或_(匹配单个字符)使用。
示例:匹配{altname}中包含"test"的记录CASE WHEN {altname} LIKE '%test%' THEN '<font color="blue">'||{altname}||'</font>' END反向模糊匹配:
NOT LIKE
用法和LIKE相反,匹配不包含指定字符串的记录。
示例:CASE WHEN {altname} NOT LIKE '%test%' THEN '<font color="green">'||{altname}||'</font>' END包含于集合:
IN
匹配字段值在指定集合内的记录,集合用括号包裹,多值用逗号分隔。
示例:匹配{altname}为"test1"、"test2"或"test3"的记录CASE WHEN {altname} IN ('test1', 'test2', 'test3') THEN '<font color="orange">'||{altname}||'</font>' END不包含于集合:
NOT IN
匹配字段值不在指定集合内的记录。
示例:CASE WHEN {altname} NOT IN ('test1', 'test2') THEN '<font color="purple">'||{altname}||'</font>' END为空值:
IS NULL
注意不能用= NULL,必须用IS NULL来匹配字段值为NULL的记录。
示例:CASE WHEN {altname} IS NULL THEN '<font color="black">无名称</font>' END不为空值:
IS NOT NULL
匹配字段值不为NULL的记录。
示例:CASE WHEN {altname} IS NOT NULL THEN '<font color="black">'||{altname}||'</font>' END范围匹配:
BETWEEN ... AND ...
适用于数字、日期字段,匹配值在指定范围(包含边界)内的记录。
示例(金额在500到1000之间):CASE WHEN {amount} BETWEEN 500 AND 1000 THEN '<font color="teal">'||{amount}||'</font>' END
另外要注意:NetSuite的CASE WHEN语句中,字符串和日期值需要用单引号包裹(日期建议用YYYY-MM-DD格式),数字则不需要引号。
内容的提问来源于stack exchange,提问作者Jeff Jacobs

