将日期转换为 Oracle 中的特定格式 SQL
Convert Date to specific format in Oracle SQL
我想在 Oracle 中将日期转换为这种格式“2020-08-19”SQL。
我确实尝试过这样做,但它 returns 作为 19-AUG-20
SELECT TO_DATE('2020-08-19', 'YYYY-MM-DD') FROM DUAL;
输出
19-AUG-20
我想要以下格式的输出:
2020-08-19
有人可以帮我解决这个问题吗?提前致谢!
如果您有 date
并希望显示为格式化的 字符串,则使用 TO_CHAR()
:
SELECT TO_CHAR(DATE '2020-08-19', 'YYYY-MM-DD') FROM DUAL;
在函数中,DATE '2020-08-19'
是一个 文字日期 :这是一个 date
数据类型。
至于你的原码:
SELECT TO_DATE('2020-08-19', 'YYYY-MM-DD') FROM DUAL;
它所做的是将输入 string 解释为 date,给定指定为第二个参数的格式。这个returns一个date
,那就是根据你数据库的NLS_DATE_FORMAT
参数显示或者session。您可以像这样更改 session 级别的参数值:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
现在 运行 相同的查询会为您提供所需的结果。
我想在 Oracle 中将日期转换为这种格式“2020-08-19”SQL。
我确实尝试过这样做,但它 returns 作为 19-AUG-20
SELECT TO_DATE('2020-08-19', 'YYYY-MM-DD') FROM DUAL;
输出
19-AUG-20
我想要以下格式的输出:
2020-08-19
有人可以帮我解决这个问题吗?提前致谢!
如果您有 date
并希望显示为格式化的 字符串,则使用 TO_CHAR()
:
SELECT TO_CHAR(DATE '2020-08-19', 'YYYY-MM-DD') FROM DUAL;
在函数中,DATE '2020-08-19'
是一个 文字日期 :这是一个 date
数据类型。
至于你的原码:
SELECT TO_DATE('2020-08-19', 'YYYY-MM-DD') FROM DUAL;
它所做的是将输入 string 解释为 date,给定指定为第二个参数的格式。这个returns一个date
,那就是根据你数据库的NLS_DATE_FORMAT
参数显示或者session。您可以像这样更改 session 级别的参数值:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
现在 运行 相同的查询会为您提供所需的结果。