oracle从含有日期和其他信息的字符串中提取日期的sql语句

比如1.“2009年6月28日张三从李四那里买的二手车”2.“2010年1月9日李四从王五那里买的二手自行车”3.“2008年12月5日王五从赵六那里买的二手电动车”这种... 比如1.“2009年6月28日张三从李四那里买的二手车”
2.“2010年1月9日李四从王五那里买的二手自行车”
3.“2008年12月5日王五从赵六那里买的二手电动车”
这种字符串,怎么将里面前头的年月日(如2009年6月28日、2010年1月9日、2008年12月5日)字符串提取出来,并且是DATE类型的数据,SQL怎么写?求大虾们指导!
展开
 我来答
lzh3452
推荐于2017-09-20 · TA获得超过1044个赞
知道小有建树答主
回答量:1168
采纳率:100%
帮助的人:864万
展开全部
select to_date(REGEXP_replace('2009年6月28日张三从李四那里买的二手车','(\d{3,4})年(\d{1,2})月(\d{1,2})日.+','\1/\2/\3')) "date" from dual
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华夏日长兴
2014-10-27 · TA获得超过9593个赞
知道大有可为答主
回答量:6305
采纳率:85%
帮助的人:3754万
展开全部
select to_date(substr(regexp_replace('2009年6月28日张三从李四那里买的二手车', '[年]|[月]|[日]', '-'),
               1,
               instr(regexp_replace('2009年6月28日张三从李四那里买的二手车', '[年]|[月]|[日]',
                                     '-'), '-', -1) - 1),'yyyy-mm-dd')
  from dual
;

个人觉得不是最佳方法,凑合着能用,呵呵
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式