在SQL Server 2008中只选择时间列中的hh:mm部分
问题描述:
我在SQL Server 2008表中有time
列。我只想选择hh:mm
并删除(秒)ss部分。在SQL Server 2008中只选择时间列中的hh:mm部分
最重要的是,我想返回时间作为数据类型,并且不想转换为varchar
。
有什么办法吗?
答
你可以使用日期部分内置函数(我已经cheked并在SQL 2008提供)
SELECT cast(DATEPART(hour, MyDateColumn) as varchar) + ':' + cast(DATEPART(minute, MyDateColumn) as varchar) from MyTeable
我希望它能帮助,
胡安
编辑: 如果你需要的是时间值,那么你可以将它转换为:
SELECT CONVERT(TIME,
cast(DATEPART(hour, MyDateColumn) as varchar)
+ ':'
+ cast(DATEPART(minute, MyDateColumn) as varchar)
)
from MyTable
答
可以使用,
CONVERT(DATETIME, CONVERT(VARCHAR(5),table.time,108), ,table.time) AS [Time]
您正在使用哪个数据库?你到目前为止尝试了什么? hh:mm:ss存储在字符串中吗? – saitejalakkimsetty
[如何从DateTime获取小时和分钟]可能的重复(https://stackoverflow.com/questions/27979307/how-to-get-hour-and-minute-only-from-a-datetime) –
数据库:SQL 2008,我试图转换为varchar,但前端使用时间跨度,所以它会引发错误。我需要时间数据类型,但只有HH:MM – dinesh