2014-07-16 51 views
-3

我需要以這種格式獲取日期時間值7/16/14 9:04 PM。找不到任何用這種方式打印日期時間的自定義方式。SQL查詢中的自定義日期時間格式

請建議。

+0

哪個數據庫?哪個版本? – Serpiton

+0

您使用的是什麼RMDS? (MYSQL,MSSQL,Oracle) – Arion

+0

請爲您的DBMS添加相關標籤。 (在Oracle和Postgres中可以使用'to_char()'格式化日期,其他DBMS具有相似的功能)。檢查你的數據庫的手冊,你會發現這實際上記錄在那裏。 –

回答

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.

+0

這爲我工作。謝謝 –

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

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)