如何从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个参数

  1. 数据types
  2. 列/价值
  3. 样式:可用样式从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