我有一个带有日期时间记录的表.我需要使用日期或时间选择记录.
假设我1/1/2001 13:33:00在数据库中 有这种格式
我的问题是:如果我输入日期,时间或两者,我应该获得具有相同日期或相同时间的行.我怎样才能做到这一点?
convert函数CONVERT(VARCHAR(10), Travel.Travel_DateTime, 110)
返回日期,如果它们的时间类似于默认值00:00:00
(注意我假设MySQL)
SELECT blah FROM tbl WHERE DATE(some_datetime_field) = '2012-04-02';
Run Code Online (Sandbox Code Playgroud)
这将选择任何行,使some_datetime_field的日期部分为2012年4月4日.
同样的想法适用于TIME:
SELECT blah FROM tbl WHERE TIME(some_datetime_field) = '14:30:00';
Run Code Online (Sandbox Code Playgroud)
因此,要获得日期为2012年4月5日或时间为下午2:30的所有行,您只需将两者结合起来:
SELECT blah FROM tbl WHERE DATE(some_datetime_field) = '2012-04-02' OR TIME(some_datetime_field) = '14:30:00';
Run Code Online (Sandbox Code Playgroud)
- -编辑 - -
对于SQL Server,您应该能够使用:
CONVERT(DATE, some_datetime_field) = '2012-04-02'
Run Code Online (Sandbox Code Playgroud)
(从如何仅从SQL Server datetime数据类型返回日期部分)
| 归档时间: |
|
| 查看次数: |
20461 次 |
| 最近记录: |