使用正则表达式从字符串中提取日期 - SQL ORACLE
Extract date from string using regular expression - SQL ORACLE
假设我有一个带有字符串“1610131223ZVV40”的 numCommande 字段,其中 161013 是 yymmdd 格式的日期。
SQL 中是否有任何方法可以从字符串字段中提取 13/10/2016 日期?
谢谢!
SELECT TO_CHAR(TO_DATE(SUBSTR(Column_Name,1,6), 'YYMMDD'),'DD/MM/YYYY') FROM TableName
现场演示
如果 'date' 始终是前六个字符,您可以使用简单的 substr()
调用提取这些字符:
substr(numCommande, 1, 6)
这给了你 '161013'
;然后将该字符串转换为具有合适格式模型的日期:
select to_date(substr(numCommande, 1, 6), 'RRMMDD') from your_table;
使用静态值的快速演示:
select to_date(substr('1610131223ZVV40', 1, 6), 'RRMMDD') from dual;
TO_DATE(SU
----------
2016-10-13
假设我有一个带有字符串“1610131223ZVV40”的 numCommande 字段,其中 161013 是 yymmdd 格式的日期。
SQL 中是否有任何方法可以从字符串字段中提取 13/10/2016 日期?
谢谢!
SELECT TO_CHAR(TO_DATE(SUBSTR(Column_Name,1,6), 'YYMMDD'),'DD/MM/YYYY') FROM TableName
现场演示
如果 'date' 始终是前六个字符,您可以使用简单的 substr()
调用提取这些字符:
substr(numCommande, 1, 6)
这给了你 '161013'
;然后将该字符串转换为具有合适格式模型的日期:
select to_date(substr(numCommande, 1, 6), 'RRMMDD') from your_table;
使用静态值的快速演示:
select to_date(substr('1610131223ZVV40', 1, 6), 'RRMMDD') from dual;
TO_DATE(SU
----------
2016-10-13