SQL查询中的自定义日期时间格式

时间:2014-07-16 06:52:50

标签: sql

我需要以7/16/14 9:04 PM的格式获取日期时间值。无法找到以这种方式打印日期时间的任何自定义方式。

请建议。

3 个答案:

答案 0 :(得分:0)

在T-SQL中,您可以获得所需的日期时间格式:

SELECT CONVERT(VARCHAR(8), GETDATE(), 1)+ ' '+ 
+ Right(CONVERT(VARCHAR(20), GETDATE(), 100),7)
AS [MM/DD/YY HH:MIAM (or PM)]

SQL Fiddle Demo here.

答案 1 :(得分:0)

如果您使用类似的表格

CREATE TABLE myTab(
data DATETIME);

INSERT INTO myTab (data) VALUES ('2012-03-23 9:58');
INSERT INTO myTab (data) VALUES('2012-11-23 22:38');
INSERT INTO myTab (data) VALUES('2002-03-23 9:50');

你可以使用类似的查询

SELECT DATE_FORMAT(data, '%m/%d/%y %r') FROM myTab;

检查此http://sqlfiddle.com/#!2/c42ba/1/0

答案 2 :(得分:0)

MSSQL中,您可以执行类似

的操作
SELECT 
Convert(nvarchar(2), month(<YOUR_DATETIME_COLUMN>)) + '/' + Convert(nvarchar(2), day(<YOUR_DATETIME_COLUMN>)) + '/' + Convert(nvarchar(4), year(<YOUR_DATETIME_COLUMN>)) + ' ' +
Convert(nvarchar(2), datepart(hh, <YOUR_DATETIME_COLUMN>)) + ':' + RIGHT('0'+ CONVERT(nvarchar(2),datepart(mm, <YOUR_DATETIME_COLUMN>)), 2) + ' ' +
(CASE WHEN datepart(hh, <YOUR_DATETIME_COLUMN>) <= 12 THEN 'AM' ELSE 'PM' END)

IN MySQL它几乎相似

SELECT 
Convert(nvarchar(2), month(<YOUR_DATETIME_COLUMN>)) + '/' + Convert(nvarchar(2), day(<YOUR_DATETIME_COLUMN>)) + '/' + Convert(nvarchar(4), year(<YOUR_DATETIME_COLUMN>)) + ' ' +
Convert(nvarchar(2), hour(<YOUR_DATETIME_COLUMN>)) + ':' + RIGHT('0'+ CONVERT(nvarchar(2),minute(<YOUR_DATETIME_COLUMN>)), 2) + ' ' +
(CASE WHEN hour(<YOUR_DATETIME_COLUMN>) <= 12 THEN 'AM' ELSE 'PM' END)