TO_DATE 从 DD-MON-YY 到 YYYYMMDD

TO_DATE to YYYYMMDD from DD-MON-YY

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

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

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

但这给了我以下输出。

20970927

我希望此数据采用 YYYYMMDD 格式,以便输出如下所示 - 19970927

如果 '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>

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

select TO_CHAR(TO_DATE('27-SEP-97','DD-MON-RR'),'YYYYMMDD') 来自 dual;

您可以使用 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