pl/sql 如何将 clob 数据转换为日期时间格式
How to convert clob data into date time format in pl/sql
我写了一段代码,我从数据库中提取 oracle table 数据到 excel sheet 并将其作为邮件附件发送。问题是 table 的日期列显示为 DD-Mon-YY 格式,因为我将数据存储到 clob 中。我的要求是显示带有时间戳的日期。
知道如何实现吗?
因此,如果我理解正确的话,您将 DATE 值存储在 CLOB 类型变量中。当它显示在 Excel sheet 中时,您将看不到 TIME 部分。问题可能是 -
- 您没有将完整的 DATE TIME 值提取到 CLOB 字段中。
- 格式模型在 Excel 文件中被覆盖。
to_char
加上适当的格式模型就足够了 -
SQL> DECLARE
2 dt CLOB;
3 BEGIN
4 dt := to_char(SYSDATE, 'dd-mon-yyyy hh24:mi:ss');
5 dbms_output.put_line(dt);
6 END;
7 /
19-jan-2015 12:29:44
PL/SQL procedure successfully completed.
SQL>
上面,"dt"是一个CLOB类型,我把DATE值存储成下面的格式'dd-mon-yyyy hh24:mi:ss'
.
我写了一段代码,我从数据库中提取 oracle table 数据到 excel sheet 并将其作为邮件附件发送。问题是 table 的日期列显示为 DD-Mon-YY 格式,因为我将数据存储到 clob 中。我的要求是显示带有时间戳的日期。
知道如何实现吗?
因此,如果我理解正确的话,您将 DATE 值存储在 CLOB 类型变量中。当它显示在 Excel sheet 中时,您将看不到 TIME 部分。问题可能是 -
- 您没有将完整的 DATE TIME 值提取到 CLOB 字段中。
- 格式模型在 Excel 文件中被覆盖。
to_char
加上适当的格式模型就足够了 -
SQL> DECLARE
2 dt CLOB;
3 BEGIN
4 dt := to_char(SYSDATE, 'dd-mon-yyyy hh24:mi:ss');
5 dbms_output.put_line(dt);
6 END;
7 /
19-jan-2015 12:29:44
PL/SQL procedure successfully completed.
SQL>
上面,"dt"是一个CLOB类型,我把DATE值存储成下面的格式'dd-mon-yyyy hh24:mi:ss'
.