T-SQL为文本类型字段分配NULL

时间:2012-03-16 14:03:50

标签: sql sql-server tsql

我尝试执行下一个代码,将所有空字符串替换为NULL,其中列类型为TEXT。但是这段代码似乎无能为力。

UPDATE mytable SET textField = NULL WHERE DATALENGTH(textField)=0

这里有什么方法可以使此列无效?

UPD。好的,这真的很有用。这只是Embarcadero DBArtasian的奇怪数据

4 个答案:

答案 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