在一个查询中将SQL中的日期从一种格式转换为多种格式

时间:2018-02-14 23:51:24

标签: sql oracle

我正在学校学习SQL,我真的很陌生。我们正在使用Oracle APEX上学。我需要编写一个查询来将日期转换为多种格式。我以为我可以通过用替换变量编写语句来做到这一点,所以我可以输入新格式,但它不能正常工作。以下是我对一个声明的尝试:

 SELECT TO_CHAR(TO_DATE('04-Jan-2008', 'DD-Mon-YYYY'), :xx) AS "Date"
 FROM dual; 

当我点击“运行”时,会弹出变量框,然后输入以下内容,使其显示为“2008年1月4日”。我试过它有没有引号。 “1月4日”出现了,但不是逗号和年份。

 fmMonth ddth, YYYY   

有什么想法?感谢您的输入!

2 个答案:

答案 0 :(得分:0)

假设您输入日期掩码的项目名为P1_MASK,您必须在查询中使用符号"&amp ;; + item_name +。":

SELECT to_char(TO_DATE('04-Ene-2008', 'DD-Mon-YYYY'), '&P1_MASK.') AS "Date"
  FROM dual; 

答案 1 :(得分:0)

我明白了。我添加了一个REPLACE函数。

SELECT REPLACE(TO_CHAR(TO_DATE('04-Jan-2008', 'DD-Mon-YYYY'), :xx), '-', ',') AS "Date"
FROM dual;

当弹出变量框时,我输入:

fmMonth ddth- YYYY 

完美无缺!