oracle 字符串类型的8位数字想转换成日期格式

风吹那年都夏天 2016-08-31 11:48:44
我想把表中,身份证号码的出生年月日取出来,转成日期类型的数据,更新到这张表的另一个字段‘生日’中去。
sql语句如下:
update tb t set t.birthday_date=to_date(substr(t.id_card,7,8),'YYYY/MM/DD) where
t.birthday_date is null and t.id_card='452623194902290918';
为何执行的时候就报错: “文字与格式字符串不匹配”?
是因为,to_date在使用时,括号里的第一个参数必须是写死的吗?
...全文
4247 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghx287524027 2016-08-31
  • 打赏
  • 举报
回复
引用 6 楼 qq_35412013 的回复:
我知道怎么错了。 比如说我截出来的字符串是 ‘19920606’ 这是八位 但是我指定的日期格式是 ‘ yyyy/mm/dd ’ 这是十位。
所以就报错了。 怎么能在我截出来的字符串里加上两个 正斜杠呢?

你把格式改成 ‘yyyymmdd’ 就可以了,这个斜杠只是一个日期的显示格式问题,如下:
  • 打赏
  • 举报
回复
我知道怎么错了。 比如说我截出来的字符串是 ‘19920606’ 这是八位 但是我指定的日期格式是 ‘ yyyy/mm/dd ’ 这是十位。 所以就报错了。 怎么能在我截出来的字符串里加上两个 正斜杠呢?
ghx287524027 2016-08-31
  • 打赏
  • 举报
回复
你确定1949年2月份有29天?是这得问题,你可以改个小于29的日子试试
  • 打赏
  • 举报
回复
引用 2 楼 js14982 的回复:
YYYYMMDD 应该 'YYYYMMDD' ,你的原语句也只是一个单引号




这是 生日字段里的数据 年月日都是用 正斜杠 隔开的。 我更新的时候不用指定日期格式吗? 比如yyyy-mm-dd yyyy/mm/dd
  • 打赏
  • 举报
回复
引用 1 楼 js14982 的回复:
to_date(substr(t.id_card,7,8),'YYYY/MM/DD) 改成 to_date(substr(t.id_card,7,8),'YYYYMMDD)
报错呢: 指定月份的日期无效
js14982 2016-08-31
  • 打赏
  • 举报
回复
YYYYMMDD 应该 'YYYYMMDD' ,你的原语句也只是一个单引号
js14982 2016-08-31
  • 打赏
  • 举报
回复
to_date(substr(t.id_card,7,8),'YYYY/MM/DD) 改成 to_date(substr(t.id_card,7,8),'YYYYMMDD)
  • 打赏
  • 举报
回复
引用 7 楼 ghx287524027 的回复:
[quote=引用 6 楼 qq_35412013 的回复:] 我知道怎么错了。 比如说我截出来的字符串是 ‘19920606’ 这是八位 但是我指定的日期格式是 ‘ yyyy/mm/dd ’ 这是十位。 所以就报错了。 怎么能在我截出来的字符串里加上两个 正斜杠呢?
你把格式改成 ‘yyyymmdd’ 就可以了,这个斜杠只是一个日期的显示格式问题,如下: [/quote] 恩。你说的对,是我这个身份证号码不正确。
Oracle数据库是全球最广泛使用的数据库管理系统之一,它的功能和性能都非常强大。在这份Oracle函数大全中,我们可以学习到Oracle数据库中几乎所有函数的详细解析和应用,这对于要精通Oracle的开发者来说,无疑是一份非常宝贵的资料。Oracle函数可以分为多种类型,包括数学函数、字符串函数、日期函数、转换函数、集合函数、编码函数、分析函数等等。 数学函数主要包括各种数学运算,例如加、减、乘、除等基础运算,以及一些高级运算,如三角函数、指数函数和对数函数等。字符串函数则主要处理文本数据,例如字符串连接、子串搜索、字符替换、长度计算和格式化等。日期函数用于处理日期和时间数据,如日期的加减、日期格式的转换、当前日期和时间的获取等。 转换函数是用于在不同数据类型之间进行转换的函数,例如将字符型数据转换成数字型,或者将数字型数据转换成字符型。集合函数是操作一组值的函数,可以返回单个值,如计数、平均值、最大值、最小值等。编码函数则涉及到字符编码的转换,如将字符转换成对应的ASCII码或者反之。 分析函数是在查询中进行行间计算的函数,它们经常用在需要对一组数据进行复杂分析的场景中,如统计分析、移动平均计算等。除了上述类型Oracle还有许多其他的函数,用于执行特定的任务和操作。 此外,Oracle函数大全不仅仅提供了函数的详细解析,还包括了大量的实例和应用案例。这些案例能够帮助开发者更好地理解每个函数的使用场景和效果,从而在实际的数据库管理和开发过程中更加得心应手。 对于要深入掌握Oracle数据库编程的开发者来说,这份Oracle函数大全是不可或缺的学习资源。它不仅是初学者入门的重要参考,也是资深开发者提升技能和优化数据库应用的有力工具。 无论是对于数据库新手还是老手,Oracle函数大全都是一个能够提升Oracle编程能力的宝库。通过学习和掌握这些函数,开发

17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧