Oracle 字符串转换为日期格式
字符串如下:Jan120069:59:04:343AMMar2120068:05:11:563AMApr13200710:43:30:966AM附图:求助,有什么简单点的...
字符串如下:
Jan 1 2006 9:59:04:343AM
Mar 21 2006 8:05:11:563AM
Apr 13 2007 10:43:30:966AM
附图:
求助,有什么简单点的方式,转换成date格式,可以把毫秒忽略
问题已经解决:
to_date(substr(jzrq, 1, 20) || ' ' || substr(jzrq, 25, 2), 'mon dd yyyy hh12:mi:ss AM');
谢谢各位。 展开
Jan 1 2006 9:59:04:343AM
Mar 21 2006 8:05:11:563AM
Apr 13 2007 10:43:30:966AM
附图:
求助,有什么简单点的方式,转换成date格式,可以把毫秒忽略
问题已经解决:
to_date(substr(jzrq, 1, 20) || ' ' || substr(jzrq, 25, 2), 'mon dd yyyy hh12:mi:ss AM');
谢谢各位。 展开
6个回答
展开全部
1.将字符串类型转换为数字类型,这个方法直接用to_number()进行转换,具体的语法是to_number(STR)可以进行转换。
2.将数字类型转换成字符串类型的,这个转换使用to_char(),它有点像上面的to_number()模式,999表示相同的内容。
3.将日期类型转换成字符串类型,这种方法其实也用的是to_char(),就是将日期格式的转换成自己想要的格式类型的,这种方法比较个性化一点。
4. 下面的代码将日期类型转换为一种常见的字符串类型,这种类型更常见,并且是一种更完整的字符串格式。
5.将字符串类型转换成日期类型。这种转换方式用to_date()进行转换。用法也比较简单,转换的日期格式也是自己自定义的。
6.完成效果图。
展开全部
你的这串字符串很难直接让数据库识别,但是好在它有规律,按照下面的方法应该可以转换过来。
现在假设表名为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个月份的英文缩写和对应月份补齐即可。
现在假设表名为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个月份的英文缩写和对应月份补齐即可。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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'))
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'))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
TO_DATE(char[, 'fmt'])
TO_DATE(‘01/7月/2001','DD/MON/YYYY') 类似就可以了
TO_DATE(‘01/7月/2001','DD/MON/YYYY') 类似就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在当前session执行。
alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
然后再执行sql.
注意只在当前session有效。
alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
然后再执行sql.
注意只在当前session有效。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询