【发布时间】:2011-10-27 14:04:59
【问题描述】:
我尝试了CONVERT(TIME,sample_datetime),但我的软件无法将 TIME 识别为类型。
我如何抽取样本datetime 并从中提取一个变量中的时间和另一个变量中的星期几?
【问题讨论】:
标签: sql sql-server tsql datetime
我尝试了CONVERT(TIME,sample_datetime),但我的软件无法将 TIME 识别为类型。
我如何抽取样本datetime 并从中提取一个变量中的时间和另一个变量中的星期几?
【问题讨论】:
标签: sql sql-server tsql datetime
使用DATEPART()函数:
// returns 4
SELECT DATEPART(day, '2010-09-04 11:22:33')
// returns 7
SELECT DATEPART(dw, '2010-09-04 11:22:33')
// returns 11:22:33
SELECT CAST(DATEPART(HOUR, '2010-09-04 11:22:33') AS VARCHAR(2)) + ':'
+ CAST(DATEPART(MINUTE, '2010-09-04 11:22:33') AS VARCHAR(2)) + ':'
+ CAST(DATEPART(SECOND, '2010-09-04 11:22:33')AS VARCHAR(2))
关于 TIME 数据类型 - 从 Sql Server 2008 开始引入:
SELECT CAST('2010-09-04 11:22:33' as Time)
【讨论】:
你没有指定 sql server 版本但是
select datepart(dw,yourdate) 应该这样做。
【讨论】:
DATEPART 或 DATENAME 与 DW 将根据您需要的格式适用于一周中的某一天
SELECT DATEPART(DW, GETDATE())
SELECT DATENAME(DW, GETDATE())
您可以将日期时间转换为具有特定格式的 varchar 以获取时间
SELECT CONVERT(VARCHAR, GETDATE(), 14)
2008 有一个 TIME 数据类型,但听起来不像是在运行它
【讨论】: