让我们举个例子。
DATEDIFF
函数具有以下签名:
DATEDIFF ( datepart , startdate , enddate )
datepart
必须由SQL关键字提供。让我们说,分钟,我们可以使用其中一个关键字:minute
,mi
,m
。
如果我要执行此声明
select datediff(mi,'2012-April-09','2013-April-08')
它将具有与此相同的效果:
select datediff("mi",'2012-April-09','2013-April-08')
满足这些双引号时会发生什么?
什么是SQL Server与双引号内的内容有关?
答案 0 :(得分:0)
SQL Server将包含为字符串的选项解释为与没有它的情况相同,或者将其包含在其他字符中以供该用途使用 - 如[
和]
- 和将其与list of valid datediff
options匹配。如果它不匹配,则它在解析阶段返回错误(消息155)并且查询将不会运行(这可能导致查询的其他部分未运行,如果它是较大脚本的一部分)并且如果它确实匹配,然后继续正常。