日期:2014-05-18  浏览次数:20548 次

求助关于SQL查询,如何找出字段中的数字部分
1个/盒*6盒/箱
24袋/盒
10袋/盒
500G
900G
900G
24盒/箱
12瓶/ 盒
6瓶/箱


结果就是这样的,1个/盒*6盒/箱,这个可以先不考虑


SQL code
b.nQuantity*(SELECT CAST(STUFF( cPackageDesc,PATINDEX('%[A-Z]%',cPackageDesc),100,'') AS INT) FROM cdcomm WHERE iComm = b.iComm) AS '重量',


我现在只能找出  
500G
900G
900G
这个3个东西,
其余的就出错了
PATINDEX('%[A-Z]%',cPackageDesc) 这个方法只能找出A-Z的字符,所以那种中文的,比如 6瓶/箱 就找不出了
有什么办法可以让不是0-9的数字都判断出来啊?不管是什么字符,文字,从第一个开始读,只要不是0-9就告诉我是这个字符在第几位,怎么做呀?

谢谢哥哥姐姐了

------解决方案--------------------
SQL code

PATINDEX('%[^0-9]%',cPackageDesc)

------解决方案--------------------
SQL code

select patindex('%[^0-9]%','1a1234b0')

------解决方案--------------------
select patindex('%[^0-9]%','1中2a1234b0')