SQL 上的日期系统
date system on SQL
我只是编写一些数据库包含数据的查询"id and date"
003 18/01/1994
004 30/10/2007
005 31/08/1991
我运行查询
select id from table where (date >= #31/01/2017#)
结果只显示id 005
如果我 运行
select id from table where (date <= #31/01/2017#)
结果是 id 003 和 004,我认为这是正确的查询,为什么 id 5 没有出现,而是在运算符 >= 时出现?谁能帮我?怎么了?
您真的希望日期 August 31, 1991
比 January 31, 2017
晚 吗?问题是您实际上并没有在数字上比较日期,而是在比较字符串。您应该以 yyyy-mm-dd
的形式存储您的日期信息,如下所示:
003 1994/01/18
004 2007/10/30
005 1991/08/31
现在,如果您 运行 您的第一个查询:
select id from table where date >= #2017/01/31#
你会得到空集,如果你运行第二个查询
select id from table where date <= #2017/01/31#
你应该取回所有记录。
我只是编写一些数据库包含数据的查询"id and date"
003 18/01/1994
004 30/10/2007
005 31/08/1991
我运行查询
select id from table where (date >= #31/01/2017#)
结果只显示id 005 如果我 运行
select id from table where (date <= #31/01/2017#)
结果是 id 003 和 004,我认为这是正确的查询,为什么 id 5 没有出现,而是在运算符 >= 时出现?谁能帮我?怎么了?
您真的希望日期 August 31, 1991
比 January 31, 2017
晚 吗?问题是您实际上并没有在数字上比较日期,而是在比较字符串。您应该以 yyyy-mm-dd
的形式存储您的日期信息,如下所示:
003 1994/01/18
004 2007/10/30
005 1991/08/31
现在,如果您 运行 您的第一个查询:
select id from table where date >= #2017/01/31#
你会得到空集,如果你运行第二个查询
select id from table where date <= #2017/01/31#
你应该取回所有记录。