hel*_*pls 11 sql ms-access date
我想在之后d/mm/yyyy,之后d/mm/yyyy或之前的某些日期检索记录,d/mm/yyyy我该怎么办呢?
SELECT date
FROM table
WHERE date > 1/09/2008;
Run Code Online (Sandbox Code Playgroud)
和
SELECT date
FROM table
WHERE date > 1/09/2008;
AND date < 1/09/2010
Run Code Online (Sandbox Code Playgroud)
它不起作用.
smi*_*man 26
小心,你不知不觉地问"日期大于1除以9,除以2和8".
#像这样在日期附近放置标志#1/09/2008#
one*_*hen 12
分号字符用于终止SQL语句.
您可以使用#日期值周围的符号,也可以使用Access(ACE,Jet,无论)强制转换DATETIME功能CDATE().顾名思义,它DATETIME总是包含一个时间元素,因此您的文字值应该反映这一事实.SQL引擎完全理解ISO日期格式.
最好不要使用BETWEEN用于DATETIME在Access:它是仿照使用浮点类型,总之时间是连续的;)
DATE并且TABLE是SQL标准,ODBC和Jet 4.0中的保留字(可能超出),因此最好避免使用数据元素名称:
您的谓词建议公开表示期间(其中包括期间的开始日期或结束日期),这可以说是最不受欢迎的选择.这让我想知道你是否打算使用封闭式开放式代表(既不包括其开始日期,也包括期末在结束日期之前结束):
SELECT my_date
FROM MyTable
WHERE my_date >= #2008-09-01 00:00:00#
AND my_date < #2010-09-01 00:00:00#;
Run Code Online (Sandbox Code Playgroud)
或者:
SELECT my_date
FROM MyTable
WHERE my_date >= CDate('2008-09-01 00:00:00')
AND my_date < CDate('2010-09-01 00:00:00');
Run Code Online (Sandbox Code Playgroud)