Oracle数据库踩的坑

1、explain报ok,但是真正执行报错

Oracle的to_char函数的功能是将数值型或者日期型转化为字符型,在遇到字符类型时会报错:
在这里插入图片描述
但是,
在这里插入图片描述
explain会报成功,不太理解…

2、中文的正则不一样


本来以为正则是和数据库类型无关的,但是在实际中发现是有不同的:

  • mysql中只含中文的正则:'^[\\x{4e00}-\\x{9fa5}]+$'
  • oralce中只含中文的正则:'^[一-龥]+$';但是这个正则经验证能用在编码方式为UTF-8的oracle数据库上,但是用在GBK编码的数据库上会失效
  • 至于为什么是“一”和“龥”,是因为ASCII码中“一”的码值最小为19968 ,“龥”的码值最大为40864;

所以中文的正则不光和数据库类型有关,还和数据库编码类型有关

另外还有一个正则不同的案例:
mysql的正则匹配有很多种:
[[:blank:]]
[:blank:]
[[:space:]]
[:space:]
\s
目前发现\s会有不能支持的情况,blank和space未发现

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值