首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

取一个字段中的数目字

2013-12-02 
取一个字段中的数字有一个字段是VARCHAR类型,其中包含了很多字符。但这些字符中有些是汉字,有些是数字,有些

取一个字段中的数字
有一个字段是VARCHAR类型,其中包含了很多字符。但这些字符中有些是汉字,有些是数字,有些是一些特殊字符比如全角的括号'()'也有半角的括号'()'也有'/','-' 等,我想的是只留下数字,比如:(XX)123455那么就只保留123455
比如:中123455只保留123455
是否可以用ASCII码来进行比较,有没有好的算法,或者其他方案。谢谢。
[解决办法]
抄叶子锅的代码
[解决办法]
你试试:

;with t
as
(
select '(xx)1234' v union all
select 'xx1234xyz' v union all
select '1234'
)

select case when patindex('%[^0-9]%',v) = 0
                 then v
            else LEFT(v,patindex('%[^0-9]%',v)-1)
       end as v
from 
(
select stuff(v,1,patindex('%[0-9]%',v)-1,'') as v              
from t
)t

热点排行