oracle sql字符串转数字问题

用to_number('123')可以转成数字123,但是当to_number('123ab')这种不能转的字符串我希望得到0的结果,应该怎么做。... 用to_number('123')可以转成数字123,但是当to_number('123ab')这种不能转的字符串我希望得到0的结果,应该怎么做。 展开
 我来答
大宝妈谈教育
高粉答主

2020-04-01 · 关注我不会让你失望
知道小有建树答主
回答量:3306
采纳率:100%
帮助的人:51.6万
展开全部

1.将字符串类型转换为数字类型。此方法使用tonumber()直接转换。具体语法是tonumber(STR)。

2.将数字类型转换为字符串类型。此转换使用to_char(),这有点像上面的to_number()模式。999代表相同的内容。

3.将日期类型转换为字符串类型。实际上,此方法还使用到ˊchar(),它将日期格式转换为所需的格式类型。这种方法更加个性化。

4.下面的代码将日期类型转换为公共字符串类型,这是一种更常见、更完整的字符串格式。

5.将字符串类型转换为日期类型。此转换方法使用to_date()。用法也相对简单,转换后的日期格式也是自定义的。

6.完成效果图。

badkano
推荐于2018-04-06 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

这个你估计得自定义函数了,不能直接用to_number

创建函数

create or replace function isNumber(p in varchar2)
return number
is
test number;
begin
test := to_number(p);
return test;
exception
when VALUE_ERROR then return 0;
end;

 

测试1,纯数字

测试2 带非数字的字符

测试3,负数

 

测试4 小数

测试5  0

 

总之就是测试5和测试2的结果是一样,这个你看你打算怎么解决吧

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HaiziCattle
2013-11-14 · TA获得超过125个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:191万
展开全部
自己写一个函数 判断一下输入字符中 是否有数字外的字符 如果有 直接 返回0 ,否则返回数字
而后用到sql中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式