在 SQL(PostgreSQL 数据库)中将 YYYY-MM-DD 转换为文本(例如:2016 年 7 月 17 日)
Converting a YYYY-MM-DD to text (ex: July, 17, 2016) in SQL (PostgreSQL database)
SELECT date, percent FROM errorpercent WHERE percent > 1;
date | percent
2016-07-17 | 2.26268624680272595600
我希望将 2016-07-17(以及可能的许多其他行)转换为 2016 年 7 月 17 日的格式。
如果您使用的是 Oracle DBMS,则更简单的方法是使用 to_Char 函数,例如,此查询将是:
select to_char(date,'Month DD, YYYY') as new_date,
percent
FROM errorpercent
WHERE percent > 1;
几乎所有数据库都有自己的日期格式化功能。
See the many questions tagged sql, date-formatting, date, format to learn more.
You can also search Whosebug for:<your database>
date
format
下面你会找到其他4个最常用的SQL数据库的解决方案(除了Oracle oracle已经回答):
IBM DB2 db2
.. 然后你可以使用 VARCHAR_FORMAT 标量函数。
这适用于 LUW (Linux/Unix/Windows) 以及 iSeries(以前称为 AS400)系统。
您的 SQL 查询将如下所示:
SELECT
VARCHAR_FORMAT(date,'Month DD, YYYY') as formatted_date
, percent
FROM
errorpercent
WHERE
percent > 1
另请参阅:
- 类似问题DB2 Date format
- IBM官方DB2 Documentation
MySQL mysql
.. 然后你可以使用 DATE_FORMAT 标量函数。
您的 SQL 查询将如下所示:
SELECT
DATE_FORMAT(date, '%M %D, %Y') as formatted_date
, percent
FROM
errorpercent
WHERE
percent > 1
另请参阅:
- 类似问题MySQL date format
- 官方MySQL Documentation
微软SQL服务器sql-server
.. 然后你可以使用 CONVERT 标量函数。
您的 SQL 查询将如下所示:
SELECT
CONVERT(VARCHAR, date, 107) as formatted_date
, percent
FROM
errorpercent
WHERE
percent > 1
另请参阅:
- 类似问题How to return only the Date from a SQL Server DateTime datatype
- 微软官方SQL Server Documentation
PostgreSQL postgresql
.. 然后你可以使用 TO_CHAR 标量函数。
您的 SQL 查询将如下所示:
SELECT
TO_CHAR(date, 'Month DD, YYYY') as formatted_date
, percent
FROM
errorpercent
WHERE
percent > 1
另请参阅:
- 类似问题
- 官方PostgresSQL Documentation
如果列的数据类型是日期,那么:
SELECT to_char(date, 'Month, DD, YYYY' ), percent FROM errorpercent WHERE percent > 1;
如果是字符串则:
SELECT to_char(to_date(date, 'YYYY-MM-DD'), 'Month, DD, YYYY' ), percent FROM errorpercent WHERE percent > 1;
SELECT date, percent FROM errorpercent WHERE percent > 1;
date | percent
2016-07-17 | 2.26268624680272595600
我希望将 2016-07-17(以及可能的许多其他行)转换为 2016 年 7 月 17 日的格式。
如果您使用的是 Oracle DBMS,则更简单的方法是使用 to_Char 函数,例如,此查询将是:
select to_char(date,'Month DD, YYYY') as new_date,
percent
FROM errorpercent
WHERE percent > 1;
几乎所有数据库都有自己的日期格式化功能。
See the many questions tagged sql, date-formatting, date, format to learn more. You can also search Whosebug for:
<your database>
date
format
下面你会找到其他4个最常用的SQL数据库的解决方案(除了Oracle oracle已经回答):
IBM DB2 db2
.. 然后你可以使用 VARCHAR_FORMAT 标量函数。 这适用于 LUW (Linux/Unix/Windows) 以及 iSeries(以前称为 AS400)系统。 您的 SQL 查询将如下所示:
SELECT
VARCHAR_FORMAT(date,'Month DD, YYYY') as formatted_date
, percent
FROM
errorpercent
WHERE
percent > 1
另请参阅:
- 类似问题DB2 Date format
- IBM官方DB2 Documentation
MySQL mysql
.. 然后你可以使用 DATE_FORMAT 标量函数。 您的 SQL 查询将如下所示:
SELECT
DATE_FORMAT(date, '%M %D, %Y') as formatted_date
, percent
FROM
errorpercent
WHERE
percent > 1
另请参阅:
- 类似问题MySQL date format
- 官方MySQL Documentation
微软SQL服务器sql-server
.. 然后你可以使用 CONVERT 标量函数。 您的 SQL 查询将如下所示:
SELECT
CONVERT(VARCHAR, date, 107) as formatted_date
, percent
FROM
errorpercent
WHERE
percent > 1
另请参阅:
- 类似问题How to return only the Date from a SQL Server DateTime datatype
- 微软官方SQL Server Documentation
PostgreSQL postgresql
.. 然后你可以使用 TO_CHAR 标量函数。 您的 SQL 查询将如下所示:
SELECT
TO_CHAR(date, 'Month DD, YYYY') as formatted_date
, percent
FROM
errorpercent
WHERE
percent > 1
另请参阅:
- 类似问题
- 官方PostgresSQL Documentation
如果列的数据类型是日期,那么:
SELECT to_char(date, 'Month, DD, YYYY' ), percent FROM errorpercent WHERE percent > 1;
如果是字符串则:
SELECT to_char(to_date(date, 'YYYY-MM-DD'), 'Month, DD, YYYY' ), percent FROM errorpercent WHERE percent > 1;