我想使用SQL查询从DateTime列中获取Time 使用SQL Server 2005和2008 默认输出:
AttDate
==
2011-02-09 13:09:00
2011-02-09 14:10:00
我想要这个输出:
AttDate Time
==
2011-02-09 13:09:00 13:09
2011-02-09 14:10:00 14:10
答案 0 :(得分:301)
SQL Server 2008:
select cast(AttDate as time) [time]
from yourtable
早期版本:
select convert(char(5), AttDate, 108) [time]
from yourtable
答案 1 :(得分:30)
假设Sql server
SELECT CONVERT(VARCHAR(8),GETDATE(),108)
答案 2 :(得分:19)
SQL Server 2008+具有“时间”数据类型
SELECT
..., CAST(MyDateTimeCol AS time)
FROM
...
对于旧版本,没有 varchar转换
SELECT
..., DATEADD(dd, DATEDIFF(dd, MyDateTimeCol, 0), MyDateTimeCol)
FROM
...
答案 3 :(得分:10)
从没有毫秒级堆栈的日期时间获取时间的最简单方法是:
SELECT convert(time(0),getDate())
答案 4 :(得分:8)
尝试使用此
日期到时间
i
TinyTime的时间
RANDOMIZED-SELECT(A, q + 1, r, i - k)
答案 5 :(得分:3)
试试这个:
select convert(nvarchar,CAST(getdate()as time),100)
答案 6 :(得分:3)
答案 7 :(得分:2)
我经常使用这个脚本从DateTime获取时间:
SELECT CONVERT(VARCHAR(9),RIGHT(YOURCOLUMN_DATETIME,9),108) FROM YOURTABLE
答案 8 :(得分:2)
select AttDate,convert(char(5), AttDate, 108) [Time] from yourTableName
答案 9 :(得分:1)
要从datetime获取时间,我们可以使用
SELECT CONVERT(VARCHAR(20), GETDATE(), 114)
答案 10 :(得分:1)
如果您想要这种风格的日期:2013年10月23日上午10:30
使用此
SELECT CONVERT(NVARCHAR(30),getdate(), 100)
convert()
方法需要3个参数
答案 11 :(得分:1)
select cast (as time(0))
将是一个很好的条款。例如:
(select cast(start_date as time(0))) AS 'START TIME'
答案 12 :(得分:0)
获取服务器日期
SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7)) FROM TABLENAME WHERE ...
或
如果存储在表中
SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), datename, 100), 7)) FROM TABLENAME WHERE ...
结果:
11:41 AM
答案 13 :(得分:0)
select convert(char(5), tbl_CustomerBooking.CheckInTime, 108) AS [time]
from tbl_CustomerBooking
答案 14 :(得分:0)
在MSSQL2012或更高版本上
cast(dateadd(ms,datediff(ms, [StartDateTime], [StopDateTime]),0) as Time(0))
...或...
convert(time(0),dateadd(ms,datediff(ms, [StartDateTime], [StopDateTime]),0) )
答案 15 :(得分:0)
SQL Server 2012:
./StJamesRow.2010.Unknown.csv -> ./StJamesRow.2010.csv
./MarbleArch.2015.Unknown.pdf -> ./MarbleArch.2015.pdf
就个人而言,我更喜欢TRY_CONVERT()比CONVERT()。主要区别在于:如果强制转换失败,则TRY_CONVERT()返回NULL,而CONVERT()引发错误。
答案 16 :(得分:0)
你可以使用这个:
SELECT CONVERT(VARCHAR(5), GETDATE(),8)
输出:
08:24
答案 17 :(得分:-2)
select substr(to_char(colUmn_name, 'DD/MM/RRRR HH:MM:SS'),11,19) from table_name;
输出:来自
05:11:26
05:11:24
05:11:24