ove*_*ove 79 sql t-sql sql-server sql-server-2005 sql-server-2008
如何在一定范围内查询DateTime数据库字段?
我正在使用SQL SERVER 2005
错误代码如下
SELECT *
FROM TABLENAME
WHERE DateTime >= 12/04/2011 12:00:00 AM
AND DateTime <= 25/05/2011 3:53:04 AM
Run Code Online (Sandbox Code Playgroud)
请注意,我需要在特定时间范围内获取行.例如,10分钟的时间范围.
目前SQL返回"12"附近的语法不正确."
Ale*_*Aza 109
你错过了单引号:
SELECT *
FROM TABLENAME
WHERE DateTime >= '12/04/2011 12:00:00 AM' AND DateTime <= '25/05/2011 3:53:04 AM'
Run Code Online (Sandbox Code Playgroud)
此外,建议使用ISO8601格式YYYY-MM-DDThh:mm:ss.nnn [Z],因为这不会取决于您服务器的本地文化.
SELECT *
FROM TABLENAME
WHERE
DateTime >= '2011-04-12T00:00:00.000' AND
DateTime <= '2011-05-25T03:53:04.000'
Run Code Online (Sandbox Code Playgroud)
你需要在你试图作为日期传递的字符串周围引用,你也可以在这里使用BETWEEN:
SELECT *
FROM TABLENAME
WHERE DateTime BETWEEN '04/12/2011 12:00:00 AM' AND '05/25/2011 3:53:04 AM'
Run Code Online (Sandbox Code Playgroud)
有关如何在指定格式时将字符串显式转换为日期的示例,请参阅以下问题的答案:
小智 6
这在SQL Server 2005和2008中都适用于我:
SELECT * from TABLE
WHERE FIELDNAME > {ts '2013-02-01 15:00:00.001'}
AND FIELDNAME < {ts '2013-08-05 00:00:00.000'}
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以执行以下代码
SELECT Time FROM [TableName] where DATEPART(YYYY,[Time])='2018' and DATEPART(MM,[Time])='06' and DATEPART(DD,[Time])='14
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
443323 次 |
| 最近记录: |