如果存在则强制更新首字母,否则将其标记为空
IF LENGTH([Column])>0 THEN UPDATE [Table] SET Position = Upper([Column]) ELSE RETURN NULL END IF;
Col A
abcdef
defghi
efgijg
''
elllef
''
ijkmnk
预期结果(前两个为大写,如果行值为空,则标记为null)
Col A
ABcdef
DEfghi
EFgijg
NULL
ELllef
NULL
IJkmnk
答案 0 :(得分:2)
您可以使用SET部分中的CASE
表达式进行操作
UPDATE the_table
SET column_a = CASE
WHEN column_a = '' THEN NULL
ELSE upper(left(column_a,2))||substr(column_a,3)
END;
如果您还想将仅包含空格的值也视为“空”,则可以改用WHEN trim(column_a) = '' THEN NULL
。