【问题标题】:SQL Server 6.5: Strange behaviour concerning blank and empty stringsSQL Server 6.5:关于空白和空字符串的奇怪行为
【发布时间】: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


【解决方案1】:

SET ANSI_NULLS ON 有什么不同吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 2013-10-04
    相关资源
    最近更新 更多