我想格式化select * from table
的所有日期,但我不知道表格的列。
当我返回结果时,我想将数据类型为DATE的所有列格式化为特定格式。
我正在使用Oracle和perl脚本。
提前致谢
答案 0 :(得分:3)
你可以这样做:
alter session set nls_date_format = '<your date format>';
e.g:
alter session set nls_date_format = 'dd/mm/yyyy hh24:mi:ss';
select sysdate from dual;
SYSDATE
---------------------
09/06/2016 09:33:38
请记住,如果您排除时间部分(例如,它与某些列无关,因为它总是设置为午夜),那么那些有时间部分的列的输出将是误导 - 例如:
alter session set nls_date_format = 'dd/mm/yyyy';
select sysdate from dual;
SYSDATE
----------
09/06/2016
但是,我有点困惑,为什么你不知道你正在处理哪些列。查看数据库并获取该信息并不困难。