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

SQL查询中的自定义日期时间格式,sql,Sql,我需要获取此格式的datetime值7/16/14 9:04 PM。找不到任何自定义方式以这种方式打印日期时间 请建议。在T-SQL中,您可以获得所需的日期时间格式,如下所示: SELECT CONVERT(VARCHAR(8), GETDATE(), 1)+ ' '+ + Right(CONVERT(VARCHAR(20), GETDATE(), 100),7) AS [MM/DD/YY HH:MIAM (or PM)] 如果您使用类似的表格 CREATE TABLE myTab( dat

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


请建议。

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

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

如果您使用类似的表格

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;

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)

哪个数据库?哪个版本?您使用的是什么RMD?(MYSQL、MSSQL、Oracle)请为您的DBMS添加相关标签。(在Oracle和Postgres中,您可以使用
to_char()
格式化日期,其他DBMS也有类似的功能)。查看你数据库的手册,你会发现这实际上是记录在那里的。这对我很有用。谢谢
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)