【发布时间】:2018-07-10 09:37:30
【问题描述】:
如何在 SQL 中将此格式 '2016-06-10 09:30:04.000' 转换为 '06/10/2016 9:30 AM' 这种格式。
【问题讨论】:
-
将光标悬停在您添加到问题中的
SQL标记上。阅读工具提示后,请编辑您的问题以指定您使用的 DBMS。然后指定您是否尝试更改表的内容(这会误解日期数据类型的工作方式),或者这是否只是为了在查询输出中进行格式化。 -
如果您使用适当的日期类型(
datetime或datetime2),它们没有格式。它们存储自过去某个固定点以来经过的间隔数。当您看到2016-06-10 09:30:04.000之类的内容时,请意识到某些 字符串转换 已应用于该值,以便使其对您可显示。但它不是实际存储的内容。 -
您使用的是哪个 dbms?在日期/时间方面,许多产品远不符合 ANSI SQL。
-
在 Oracle 和 Postgres 中,您可以将输入字符串转换为时间戳,然后使用
to_char()对其进行格式化