我有以下日期格式的一些数据。 '27 -SEP-97'即DD-MON-YY
现在我想将其转换为YYYYMMDD。我使用以下脚本来转换它。
TO_CHAR(TO_DATE(CHD_DATE_FIRST_ACT,'DD-MON-YY'),'YYYYMMDD')
但这给了我以下输出。
20970927
我希望这些数据采用YYYYMMDD格式,输出如下所示 - 19970927
答案 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 replace
和str_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 强>