如何在SQL中将“2016-06-10 09:30:04.000”转换为“06/10/2016 9:30 AM”?

如何在SQL中将“2016-06-10 09:30:04.000”转换为“06/10/2016 9:30 AM”?,sql,datetime,time,Sql,Datetime,Time,如何将此格式“2016-06-10 09:30:04.000”转换为SQL中的“06/10/2016 9:30 AM”此格式。如果您的数据库是SQL Server,请尝试此方法 SELECT CONVERT(VARCHAR(30),CONVERT(DATE,'2016-06-10 09:30:04.000'),101)+' '+ CAST(CONVERT(varchar(25),CAST(RIGHT('2016-06-10 09:30:04.000',12) AS TIME),100) A

如何将此格式“2016-06-10 09:30:04.000”转换为SQL中的“06/10/2016 9:30 AM”此格式。

如果您的数据库是SQL Server,请尝试此方法

 SELECT CONVERT(VARCHAR(30),CONVERT(DATE,'2016-06-10 09:30:04.000'),101)+' '+ 
 CAST(CONVERT(varchar(25),CAST(RIGHT('2016-06-10 09:30:04.000',12) AS TIME),100) AS VARCHAR)

将光标悬停在添加到问题的SQL标记上。阅读工具提示后,请编辑您的问题以指定您正在使用的DBMS。然后指定您试图更改的表内容是否会错误理解日期数据类型的工作方式,或者这只是为了在查询输出中设置格式。如果您使用的是适当的日期类型datetime或datetime2,则它们没有格式。它们存储自过去某个固定点以来经过的间隔数。当您看到类似2016-06-10 09:30:04.000的内容时,请意识到已对该值应用了一些字符串转换,以便使其可显示给您。但它不是实际存储的。您使用的是哪种数据库管理系统?当涉及到日期/时间时,许多产品远远不符合ANSI SQL。在Oracle和Postgres中,您可以将输入字符串转换为时间戳,然后使用to_char按您的意愿对其进行格式化