【发布时间】:2020-08-20 21:32:15
【问题描述】:
我有一个要调试的查询,它包含一些我没见过的东西。这是我的问题的模拟查询。
DECLARE @i AS INT
DECLARE @total AS INT
SET @total = 0
SET @i = 0
IF DATENAME(WEEKDAY,GETDATE()) IN (N'Wednesday') BEGIN
SELECT @total = @total + 1
SET @i = @i + 1
END
SELECT @i
我的问题在这部分:IN (N'Wednesday')。 varchar 'Wednesday' 之前的 N 是什么。我不知道它是否是一种关键字或类似的东西。这个查询可以执行;不会有错误。另一方面,当我删除这个N 时,也可以(据我所知)。我最感兴趣的是,当我将其更改为n 时,它会产生错误。
【问题讨论】:
-
在 SQL Server 中,它指定了一个国家字符集字符串 -- 一个字符超过 1 个字节的字符串。
标签: sql if-statement in-clause