gpt4 book ai didi

oracle - 使用 PL/SQL 将日期值更改为 mm/dd/yyyy

转载 作者:行者123 更新时间:2023-12-01 15:03:14 24 4
gpt4 key购买 nike

在我的本地 Oracle 11g 数据库中有一些采用这种格式的日期:

01-JUL-85

如何使用 PL/SQL 将其更改为这种格式 (mm/dd/yyyy):

7/01/1985

谢谢...

最佳答案

如果该列是日期数据类型,那么只是您的 NLS_DATE 设置导致它们以 DD-MON-YYYY 格式显示。

要检查您当前的 NLS_DATE 格式,请运行以下命令:

SELECT value 
FROM V$NLS_Parameters
WHERE parameter ='NLS_DATE_FORMAT';

Oracle 以内部二进制格式存储所有日期并使用 NLS_DATE 格式显示它们(除非明确告知以不同方式显示它们)。

您可以使用以下方法将 NLS_DATE 设置更改为 MM/DD/YYYYTO_CHAR 日期列:

TO_CHAR(<date_column>, 'MM/DD/YYYY')

查看您需要的格式。

您可以更改当前 session 的 NLS_DATE 格式或更改数据库参数以更改数据库本身的默认 NLS_DATE 格式。

如果该列是 VARCHAR2 类型,那么您需要先转换为日期,然后您可以使用上述任一方法格式化输出。

参见:http://ss64.com/ora/syntax-nls.html

和:http://www.dba-oracle.com/t_nls_date_format_sysdate.htm

例如

SELECT TO_CHAR(sysdate, 'MM/DD/YYYY') as current_date
FROM dual;

ALTER SESSION SET NLS_DATE_FORMAT = 'MM/DD/YYYY';

SELECT sysdate
FROM dual;

在纯 PL/SQL 中

DECLARE
v_date DATE := sysdate;
BEGIN
DBMS_OUTPUT.put_line(TO_CHAR(v_date, 'MM/DD/YYYY'));
END;

关于oracle - 使用 PL/SQL 将日期值更改为 mm/dd/yyyy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8842299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com