Oracle 字符串转换为日期格式

2025-04-04 11:33:19
推荐回答(5个)
回答1:

1.将字符串类型转换为数字类型,这个方法直接用to_number()进行转换,具体的语法是to_number(STR)可以进行转换。

2.将数字类型转换成字符串类型的,这个转换使用to_char(),它有点像上面的to_number()模式,999表示相同的内容。

3.将日期类型转换成字符串类型,这种方法其实也用的是to_char(),就是将日期格式的转换成自己想要的格式类型的,这种方法比较个性化一点。

4. 下面的代码将日期类型转换为一种常见的字符串类型,这种类型更常见,并且是一种更完整的字符串格式。

5.将字符串类型转换成日期类型。这种转换方式用to_date()进行转换。用法也比较简单,转换的日期格式也是自己自定义的。

6.完成效果图。

回答2:

你的这串字符串很难直接让数据库识别,但是好在它有规律,按照下面的方法应该可以转换过来。
现在假设表名为TBL,存储该列数据的字段名为DDATE,用下列的语句可以实现日期的转换
SELECT DDATE,
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-DD HH:MI:SS')
FROM TBL
以上的部分你需要在DECODE部分将其余的9个月份的英文缩写和对应月份补齐即可。

回答3:

oracle;
TO_DATE('时间','yyyy-MM-dd HH24:MI:ss')) --24代表24时制,后面是MI,不是MM哦!
如:
TO_DATE(’2008-10-19 10:11:30.345‘,'yyyy-MM-dd HH24:MI:ss'))

回答4:

TO_DATE(char[, 'fmt'])

TO_DATE(‘01/7月/2001','DD/MON/YYYY') 类似就可以了

回答5:

在当前session执行。
alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

然后再执行sql.

注意只在当前session有效。