把中文数字转化成阿拉伯数字?有什么好的方法?用sql 语句。

一二三四五六七八九十百千万的带... 一二三四五六七八九十百千万的带 展开
 我来答
xw_hodo
2011-03-23 · TA获得超过182个赞
知道答主
回答量:118
采纳率:0%
帮助的人:68.6万
展开全部
你说的中文数字应该是字符一、二、三……吧?这是字符判断转为数字,可以用DECODE和CASE WHEN 来解决。如:
select decode(table_column,'一',1,'二',2,'三',3,'四',4,'五',5,'六',6,'七',7,'八',8,'九',9,'零',0,'') from (select '六' as table_column from dual) your_table;

select case when table_column = '一' then 1
when table_column = '二' then 2
when table_column = '三' then 3
when table_column = '四' then 4
when table_column = '五' then 5
when table_column = '六' then 6
when table_column = '七' then 7
when table_column = '八' then 8
when table_column = '九' then 9
when table_column = '零' then 0
else null end
from (select '六' as table_column from dual) your_table;
更多追问追答
追问
是这样,但是还有单位的,比如一万三千五。八百六十七,五万,有没有可以自动识别的函数、存储过程啥的?
追答
没有,只能自己写个函数了
skyfukk
推荐于2017-11-24 · TA获得超过1187个赞
知道小有建树答主
回答量:966
采纳率:100%
帮助的人:631万
展开全部
如果你的X字段是字符串"12345"等纯数字可以使用:
select convert(int,X) from 表
有计算可以直接在查询的时候计算如:
select convert(int,X)*convert(int,X)+convert(int,x)-convert(int,X) from 表
更多追问追答
追问
不是纯数字。把中文字符型数字【一二三四五六七八九十千百】换成1234567890的
追答
那也简单,建立一个自定义函数进行转换
你的最大数是多少?比如:十亿数位
我试着帮你写写

比如函数名:Myfun

你查询的时候只要:select Myfun([字段名]) from 表名 就可以了

这个函数不好写,需要很多分支,比如十万零十
你就要判断他应该添加几个0,在什么位置添加0
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帮助你我他
2020-11-20 · 各种电子线路、计算机知识、试卷、文学等
帮助你我他
采纳数:208 获赞数:1790

向TA提问 私信TA
展开全部
从表格中导出的地址栏目中的405和数字405是不一样的,这个如何更改?我一般采用0替代成0,3替代成3,以此类推,一般要代替十次,有些太麻烦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kulin_sz
2011-03-23 · 超过18用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
convert(numeric(18,0),字段)
追问
能解释一下么?我是菜鸟。这个函数没用过。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玖违のHappy
2011-04-03
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
1911349528
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式