openlang

将 NTEXT 字段与固定值比较而不出现类型错误

当我尝试这样的表达式

[longtext3] <> '2,048.6',

就会出现下面的错误。

The data types ntext and varchar are incompatible in the not equal to operator.

最好是不管列是什么类型,比较都能以相同方式工作。(<> 运算符对 INT 和 NVARCHAR 都适用)。

从英语翻译查看原文

后续讨论 2

顺着彼此的依据读下去
  1. 固定链接

    ntext 类型已弃用,替代类型是 nvarchar(max)。如果可以,最好修改表中这一列的类型。这样与 varchar 字面量比较就没有问题了。

    否则,就需要在比较之前对值做类型转换。

    cast([longtext3] as nvarchar(max))
      <> '2,048.6'

    也值得尝试 nvarchar 字面量,它能解决一些类似的类型问题。

    cast([longtext3] as nvarchar(max))
      <> N'2,048.6'
    从英语翻译查看原文

同一个问题的其他角度

  1. SQL 派生表中无法访问的字段

    我正在执行下面这条 SQL 语句。 它给出了下面的错误。 #1054 - Unknown column 'shipping.post_id' in 'on clause'. 代码看起来很简单,可就是无法正常工作。我哪里写错了?

    回复 2最近活动 sql
  2. 检查 D 数组中是否有匹配项

    关联数组可以这样写 普通数组要怎样做? 我想写一个验证表达式,比如下面这样

    回复 2最近活动 d
  3. 在 PostgreSQL 9+ 中安全删除可能不存在的列

    我想删除表中的一列。怎样确定这一列是否存在? 我看了 https://www.postgresql.org/docs/9.2/static/sql-altertable.html, 这页手册,但没有找到说明这种操作的例子。 还找到了检查 SQL Se…

    回复 2最近活动 sql