如何从SQLdate时间格式获取时间?
我想只使用SQL Server 2005和2008的SQL查询从DateTime列中获取时间默认输出:
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
SQL Server 2008:
select cast(AttDate as time) [time] from yourtable
早期版本:
select convert(char(5), AttDate, 108) [time] from yourtable
假设Sql服务器
SELECT CONVERT(VARCHAR(8),GETDATE(),108)
SQL Server 2008+有一个“时间”数据types
SELECT ..., CAST(MyDateTimeCol AS time) FROM ...
对于旧版本, 没有 varchar转换
SELECT ..., DATEADD(dd, DATEDIFF(dd, MyDateTimeCol, 0), MyDateTimeCol) FROM ...
从没有毫秒级堆栈的date时间获取时间最简单的方法是:
SELECT convert(time(0),getDate())
select AttDate,convert(char(5), AttDate, 108) [Time] from yourTableName
尝试使用这个
-
date到时间
select cast(getdate() as time(0))
-
时间到了TinyTime
select cast(orig_time as time(0))
尝试这个:
select convert(nvarchar,CAST(getdate()as time),100)
我经常使用这个脚本从DateTime获取Time:
SELECT CONVERT(VARCHAR(9),RIGHT(YOURCOLUMN_DATETIME,9),108) FROM YOURTABLE
为了从date时间获得时间,我们可以使用
SELECT CONVERT(VARCHAR(20), GETDATE(), 114)
如果你想约会这样的风格:10月23 2013 10:30 AM
用这个
SELECT CONVERT(NVARCHAR(30),getdate(), 100)
convert()
方法需要3个参数
- 数据types
- 列/价值
- 样式:可用样式从100到114.您可以从范围内select。 select一个一个更改date格式。
试试这个,它会起作用:
CONVERT(VARCHAR(8),DATETIME,114)
供您参考 。
select cast (as time(0))
将是一个很好的条款。 例如:
(select cast(start_date as time(0))) AS 'START TIME'
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