这是什么意思:{ts '2013-04-02 00:00:00'}?

20

当我分析运行的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)

有人能告诉我这是什么,我们在哪里可以使用它吗?


我对此没有任何问题,我只是想知道它是什么以及我们可以在哪里使用它。 - SAM
1个回答

31

这是一个ODBC字面值转义序列

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


ODBC定义了日期、时间和时间戳字面值的转义序列。这些转义序列的语法如上所述。
{ts 'value'}

我们可以在哪里使用它?

任何需要datetime值的地方都可以使用它。 ("timestamp" 是 SQL 标准中称作 datetime 的 SQL Server 术语。)


4
补充一下:JDBC也使用相同的转义序列:http://docs.oracle.com/javase/6/docs/technotes/guides/jdbc/getstart/statement.html#1006519 - user330315

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接