8

我需要将字符串从 varchar 转换为 'MM/DD/YYYY' 格式的日期。我的输入字符串是“4/9/2013”​​,我的预期输出是“04/09/2013”​​。即 2 位数的月份、2 位数的日期和 4 位数的年份,以'/' 分隔

我有以下数据: DOJ varchar2(10 Byte)column 具有 '4/9/2013' 值。我正在使用 EmpTable 中的 'select TO_DATE(DOJ,'MM/DD/YYYY')。但我得到的结果是 09-APR-13。我想要 2013 年 4 月 9 日的格式。

请指教。提前致谢。

4

3 回答 3

13

最简单的方法可能是将 VARCHAR 转换为 DATE;然后以您想要的格式再次将其格式化回 VARCHAR;

SELECT TO_CHAR(TO_DATE(DOJ,'MM/DD/YYYY'), 'MM/DD/YYYY') FROM EmpTable;

一个用于测试的 SQLfiddle

于 2013-05-02T19:42:50.873 回答
4

首先将 VARCHAR 转换为 DATE,然后再转换回 CHAR。我几乎每天都这样做,但从未找到更好的方法。

select TO_CHAR(TO_DATE(DOJ,'MM/DD/YYYY'), 'MM/DD/YYYY') from EmpTable
于 2013-05-02T19:47:49.503 回答
2

示例查询: SELECT TO_CHAR(TO_DATE('2017-08-23','YYYY-MM-DD'), 'MM/DD/YYYY') FROM dual;

于 2017-08-23T21:20:58.890 回答