sql - Sybase 日期比较 - 格式正确吗?

标签 sql database sybase mybatis

我是 Sybase 的新手,正在编写查询以在指定日期之后以及指定日期之前返回结果。 MM/DD/YYYY 格式

目前我正在做..

SELECT * 
    From aTable
      WHERE afterDate >= 08/07/2013
        AND beforeDate <= 08/08/2013

我正在取回记录,但由于我是 Sybase 新手,我想确保 Sybase 正确解释这些日期。

他们的在线文档对于此类事情的基本解释非常糟糕! 任何人都能够确认我的作品是否有效,或者是否需要对日期进行一些格式化?

最佳答案

您需要将日期转换为 DATETIME 并告诉 sybase 确定格式是什么。
根据this documentation MM/DD/YYYY 的代码是 101,所以像这样:

SELECT * 
FROM aTable
WHERE afterDate >= CONVERT(DATETIME,'08/07/2013',101)
      AND beforeDate <= CONVERT(DATETIME,'08/08/2013',101)

您可以通过运行以下选择语句来查看差异:

SELECT CONVERT(DATETIME,'08/07/2013',101)  --MM/DD/YYYY (2013-08-07 00:00:00.000)
SELECT CONVERT(DATETIME,'08/07/2013',103)  --DD/MM/YYYY (2013-07-08 00:00:00.000)

关于sql - Sybase 日期比较 - 格式正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18130910/

相关文章:

mysql - 如何存储.txt文件MySQL数据库?

.net - PowerBuilder 12 的可能性

mysql - MySQL 中 *= 运算符的替代方案

sql - 何时使用 GROUPING SETS、CUBE 和 ROLLUP

sql - 将逗号分隔值动态拆分为列

mysql - Magento MySql 查询以获取首次购买者列表

javascript - Node PostgreSQL 超时客户端的查询

php - 每年获取统计数据

mySQL查询查找两行时间不满足条件的地方

java - 调用存储过程