注册

字符串转数字问题

加油! 2024/01/26 937 2 已解决

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:
【CPU】:
【问题描述】*:
我遇到了一个问题,有个需求,将字段转换为数字,不是纯数字的转换为null,这是我写的sql,明明'2.1a1'不是纯数字,regexp_like('2.1a1', '[1]+(.[0-9]+)?$') =0,sql最后会走else,返回为null,但是sql在执行的时候报错了,提示字符串转换出错,难道达梦数据库有预执行的功能吗,then和else都会先执行一遍吗?
应该怎么改?

SELECT case
           when
               regexp_like('2.1a1', '^[0-9]+(\.[0-9]+)?$') =1 		 
	   then cast('2.1a1' as decimal) || ''
           else null
           end

  1. 0-9 ↩︎

回答 0
暂无回答
扫一扫
联系客服