Sql 更新前两个字母或标记为空(如果为空)
强制更新首字母(如果存在),否则将其标记为空Sql 更新前两个字母或标记为空(如果为空),sql,postgresql,Sql,Postgresql,强制更新首字母(如果存在),否则将其标记为空 IF LENGTH([Column])>0 THEN UPDATE [Table] SET Position = Upper([Column]) ELSE RETURN NULL END IF; cola abcdef 德夫吉 efgijg '' 埃尔勒夫 '' ijkmnk 预期结果(前两个为大写,如果行值为空,则标记为null) cola ABcdef 德夫吉 EFgijg 无效的 埃尔勒夫 无效的 IJkmnk 您可以使用SET部分中
IF LENGTH([Column])>0 THEN UPDATE [Table] SET Position = Upper([Column]) ELSE RETURN NULL END IF;
cola
abcdef
德夫吉
efgijg
''
埃尔勒夫
''
ijkmnk
预期结果(前两个为大写,如果行值为空,则标记为null)
cola
ABcdef
德夫吉
EFgijg
无效的
埃尔勒夫
无效的
IJkmnk
您可以使用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;
如果您想将只有空格的值也视为“空”,则可以在修剪(列a)=“”时使用
,然后使用NULL
。那么,问题是什么,您迄今为止尝试了什么?如果长度([column])>0,则更新[Table]SET Position=Upper([column]),否则返回NULL END If;