在Sqlite中,如果值的长度为0,则如何将varchar列更新为null,否则为值。
换句话说,就像这样,使用类似C的语法:
update T set C = (value.length() == 0 ? null : value) where ...;
感谢。
答案 0 :(得分:2)
如果表模式已定义为允许列中的空值,则以下查询应生成您要查找的结果
UPDATE T
SET ColumnNameX = null
WHERE LENGTH(ColumnNameX) = 0
这可以使用触发器强制执行。
CREATE TRIGGER TNullTrigger
AFTER INSERT ON T
FOR EACH ROW
BEGIN
UPDATE T
SET ColumnNameX = null
WHERE LENGTH(ColumnNameX) = 0
END;