繁体   English   中英

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

[英]T-SQL assign NULL to Text type field

我尝试执行下一个代码,以将所有空字符串替换为NULL,其中列类型为TEXT。 但是这段代码似乎什么也没做。

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

什么是在此列为空的正确方法?

UPD。 好的,这确实可行。 这只是显示Embarcadero DBArtasian的怪异数据

由于LEN不能用于Text字段,因此请将Text字段转换为varchar。 这对我有用

更新mytable SET textField = NULL WHERE LEN(convert(varchar(1000),textField))= 0

你的方法是正确的。 与CAST和RTRIM一起玩一些,也许您在现场有一些空白。

可能where条件不返回任何东西

尝试执行以下操作以查看将影响多少条记录

SELECT * from Table WHERE DATALENGTH(textField)=0
UPDATE mytable 
SET textField = NULL 
WHERE LEN(LTRIM(RTRIM(textField))) = 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM