从DD-MON-YY到TO_DATE到YYYYMMDD

时间:2018-03-20 07:31:39

标签: mysql sql database oracle to-date

我有以下日期格式的一些数据。 '27 -SEP-97'即DD-MON-YY

现在我想将其转换为YYYYMMDD。我使用以下脚本来转换它。

TO_CHAR(TO_DATE(CHD_DATE_FIRST_ACT,'DD-MON-YY'),'YYYYMMDD') 

但这给了我以下输出。

20970927

我希望这些数据采用YYYYMMDD格式,输出如下所示 - 19970927

3 个答案:

答案 0 :(得分:4)

如果' 27-SEP-97'是一个字符串(这是你的建议),那么TO_this和TO_that这样的组合可能会起作用:

SQL> with test as (select '27-SEP-97' datum from dual)
  2  select to_char(to_date(datum, 'dd-mon-rr', 'nls_date_language = english'), 'yyyymmdd') result
  3  from test;

RESULT
--------------------------------------------------------------------------------
19970927

SQL>

答案 1 :(得分:0)

- 在您的查询中使用RR而不是YY。

选择TO_CHAR(TO_DATE(' 27-SEP-97',' DD-MON-RR'),' YYYYMMDD')来自双重;

答案 2 :(得分:0)

您可以使用mysql replacestr_to_date函数
replace需要3个参数,如下所示 replace(string,find_string,replace_with)
您只需将-替换为空白字符串
即可 如果你的str是'27 -SEP-97'以获得输出19970927在mysql中执行以下

select replace(str_to_date('27-SEP-97','%d-%b-%Y'),'-','') as date;
输出

+----------+
| date     |
+----------+
| 19970927 |
+----------+

%b用于提及缩写的月份名称

单击以下链接以了解有关mysql日期和时间功能的更多信息 的 Mysql Data and Time functions