SQL时间24小时到12小时格式

时间:2015-09-24 09:22:06

标签: mysql sql

我的桌子是这样的:

+----------------+------------+
|      Date      +    Time    |
|-----------------------------|
| 2015-09-23     | 17:20:25   |
| 2015-09-23     | 17:25:27   |
| 2015-09-24     | 06:29:27   |
-------------------------------

我只想获得时间列,我希望它以12小时格式显示。像这样:

5:20 P.M.
5:25 P.M.
6:29 A.M.

我使用了这个查询:SELECT time FROM attendance WHERE 1

4 个答案:

答案 0 :(得分:2)

试试这个(对于MSSQL)

select CONVERT(varchar(15),Time,100) from attendance where 1

对于MYSQL

select TIME_FORMAT(Time, '%r') from attendance where 1

答案 1 :(得分:2)

在SQL Server中,您可以尝试这样:

declare @t time
set @t = '17:20:25'

select CONVERT(varchar(15),@t,100)

FIDDLE DEMO

在MYSQL中,您可以使用DATE_FORMAT和%p说明符。像这样:

SELECT DATE_FORMAT('2015-09-24 16:21:50', '%Y-%m-%d %h:%i:%s %p')

SQL FIDDLE DEMO

或只是

select TIME_FORMAT('17:20:25', '%r');

SQL FIDDLE DEMO

答案 2 :(得分:0)

尝试使用:

DECLARE @aux NVARCHAR(8)='16:45:00'
SELECT CONVERT(VARCHAR(15),CAST(@aux AS TIME),100)

declare @t time
set @t = '17:20:25'

select CONVERT(varchar(15),@t,100)

结果:

5:20PM

答案 3 :(得分:0)

您也可以使用此

TIME_FORMAT(Time, '%h:%i %p')

输出: 06:40 PM