在SELECT SQL语句内部仅将DateTime转换为Date

时间:2014-06-04 18:32:26

标签: sql sql-server datetime sql-server-2012

我有一个SQL语句

SELECT NO, MEMBID, DATEFROM, DATETO from Member where MEMBID ='xxyy'

我收到日期为DateTime格式的返回。我只希望它们采用日期格式。

我试过了: -

SELECT NO, MEMBID, CONVERT(DATEFROM, GETDATE()), DATETO from Member where MEMBID ='xxyy'

SELECT NO, MEMBID, CAST(DATEFROM as DATE()), DATETO from Member where MEMBID ='xxyy'
这些似乎不起作用。

我需要在SQL语句本身内部进行转换。一直在谷歌上看,但似乎找不到任何东西。任何见解?

编辑: - 最终对我有用的是以下转换技术。

CONVERT(VARCHAR(10),DATEFROM,101)

3 个答案:

答案 0 :(得分:3)

这是一个按日期投射日期时间的查询。

select cast('2014-06-04 00:00:00.000' as date)

答案 1 :(得分:1)

DateTimeDate对象中没有格式。这只是显示数据。

你与转换非常接近,但只需要output format

CONVERT(VARCHAR(10), DATEFROM, 101)

这会将DATEFROM列输出为mm/dd/yyyy

答案 2 :(得分:1)

这应该有效

SELECT NO, MEMBID, CAST(DATEFROM AS DATE), DATETO from Member where MEMBID ='xxyy'

for SQL SERVER 2012

应该是

SELECT NO, MEMBID, CONVERT(date, DATEFROM), DATETO from Member where MEMBID ='xxyy'

http://sqlfiddle.com/#!6/287dd/6示例