我尝试执行下一个代码,将所有空字符串替换为NULL,其中列类型为TEXT。但是这段代码似乎无能为力。
UPDATE mytable SET textField = NULL WHERE DATALENGTH(textField)=0
这里有什么方法可以使此列无效?
UPD。好的,这真的很有用。这只是Embarcadero DBArtasian的奇怪数据
答案 0 :(得分:2)
你的方式是正确的。 使用CAST和RTRIM玩一点,也许你在这个领域有一些空间。
答案 1 :(得分:2)
请将文本字段转换为varchar,因为LEN不能用于文本字段。这对我有用
更新mytable SET textField = NULL WHERE LEN(convert(varchar(1000),textField))= 0
答案 2 :(得分:0)
where条件不返回任何内容的概率
尝试执行以下操作以查看将受影响的记录数
SELECT * from Table WHERE DATALENGTH(textField)=0
答案 3 :(得分:0)
UPDATE mytable
SET textField = NULL
WHERE LEN(LTRIM(RTRIM(textField))) = 0