当前位置:首页>开发>正文

oracle怎么把字符串转换成日期 oracle日期转换问题

2023-07-07 08:04:26 互联网 未知 开发

 oracle怎么把字符串转换成日期 oracle日期转换问题

oracle怎么把字符串转换成日期

to_date函数
比如
select to_date(2015-02-03,yyyy-mm-dd) from dual

注意:2015-02-03格式要与yyyy-mm-dd一致

oracle日期转换问题

首先你要搞清楚to_date(a,b)函数的用法跟参数的含义,就是把b格式的字符串a转换成date类型,所以要求b的格式要跟a的实际格式一样
举个例子,t.time存的是2011.11.11,那后面的格式也要是yyyy.mm.dd才行
SQL> desc test
Name Type Nullable Default Comments
---- ---- -------- ------- --------
T DATE Y

SQL> insert into test(t) select to_date(20111111,yyyymmdd) from dual

1 row inserted

SQL> insert into test(t) select to_date(2011-11-11,yyyy-mm-dd) from dual

1 row inserted

SQL> insert into test(t) select to_date(2011.11.11,yyyy.mm.dd) from dual

1 row inserted

SQL> insert into test(t) select to_date(2011.11,yyyy.mm) from dual

1 row inserted

SQL>

Oracle字符串转换为日期格式

解决方法很多!你的这串字符串很难直接让数据库识别,但是好在它有规律,按照下面的方法应该可以转换过来。
现在假设表名为TBL,存储该列数据的字段名为DDATE,用下列的语句可以实现日期的转换
SELECTDDATE,
TO_DATE(SUBSTR(DDATE,8,4)||DECODE(SUBSTR(DDATE,1,3),
Feb,
01,
Jan,
02,
Mar,
03)||
LPAD(TRIM(SUBSTR(DDATE,5,2)),2,0)||
LPAD(TRIM(SUBSTR(DDATE,13,8)),8,0),YYYY-MM-DDHH:MI:SS)
FROMTBL
以上的部分你需要在DECODE部分将其余的9个月份的英文缩写和对应月份补齐即可。

最新文章