18

当我分析正在运行的 T-SQL 时,我发现一个在 where 子句中有{ts '2013-04-02 00:00:00'} 的查询。我对此非常好奇,并试图找到源头。它由 CrystalReport 报表执行。

这是查询。

SELECT *
FROM    [Table] B
WHERE   CONVERT(VARCHAR, [AddedDateTime], 111) 
        BETWEEN CONVERT(VARCHAR, {ts '2013-03-31 00:00:00'}, 111)
        AND     CONVERT(VARCHAR, {ts '2013-04-02 00:00:00'}, 111)

谁能告诉我它是什么以及我们可以在哪里使用它?

4

1 回答 1

30

这是一个ODBC 文字转义序列

ODBC 为日期、时间和时间戳文字定义了转义序列。这些转义序列的语法如下:

{ts 'value'}

我们可以在哪里使用它?

datetime期望值的任何地方。(“时间戳”是 SQL Server 所称的 SQL 标准白话datetime)。

于 2013-04-02T08:33:38.313 回答