SQL Server:WHERE子句中的撇号

时间:2014-06-25 13:45:57

标签: sql sql-server

我有来自第三方的SQL Server查询,如:

SELECT * FROM SC.TOY T WHERE T.IS_SMALL != N'Y' AND T.NAME = 'TRUCK'

我对在N和Y之后使用撇号感到困惑。有人可以帮我解释它究竟意味着什么吗?

2 个答案:

答案 0 :(得分:1)

这意味着' Y'存储在表中的ntext,nchar,nvarchar

答案 1 :(得分:0)

SQL Server具有charvarchar作为类型,其中每个字符由一个字节表示。 Unicode类型是ncharnvarchar(如在本机字符或国家语言字符集中),其中字符由每个字符两个字节表示。如果必须分配或给出一些文字文本,则必须指出它是哪种类型的文本。所以

   'Hello' is a  char literal
  N'Hello' is a nchar literal