【发布时间】:2013-01-30 16:03:58
【问题描述】:
SQL Server 6.5 似乎无法区分零长度字符串和包含单个空格的字符串。
Trailing spaces are ignored in = comparisons 在所有版本的 SQL Server 中都是正确的,但这个问题不同。
这个 SELECT 返回 1:
SELECT DATALENGTH('')
我有一个带有varchar(20) 列FAX 的表,此更新似乎对此无效:
UPDATE CLIENT
SET FAX = '' -- The existing field consists only of a single space
WHERE ClientNo = 124
即使在运行此更新后,该字段仍包含空格。
修剪仅包含空格的字段会导致 NULL 值,这对我们的目的来说是不可取的。
是否可以用空字符串替换空白值?我该怎么办?
【问题讨论】:
-
SQL-Server 6.5?和 1996 年的一样?
-
是的,就是这个。我们正在将数据从旧系统中迁移出来。
-
我什至找不到文档了——祝你好运!
-
很高兴听到您正在远离它... 6.5 不再受支持,以至于不再为安全问题生成补丁。这应该在 2004 年 3 月 31 日支持结束之前完成。希望继续前进,您将把管理指向product lifecycle guide,并确保管理知道软件有一个到期日期。您需要在操作系统和 sql server 级别检查这一点。当您查看该链接时,请注意 Sql Server 2000 将在
标签: sql-server