SQL怎样取出字符串中的数字?

比如你的表叫TALBE1,字段是str1,类型是nvarchar,那么求相正法的最大个数,加1,输入Selectmax(convert(int,substring(str1,patindex(N'%[1234567890])).%',str1),len(str1)-patindex(N'%[1234567890]%',str1)+1-patindex(N'%[1234567890]%',reverse(str1))+1)))+1fromtable1wherestr1likeN'%向正发%'测试成功,就需要很长时间,请仔细尝试。
sqlserver就是这样写的。
如果是ORACAL或者其他SQL语言,可以到这里参考。
你会发现我的方法比使用SQLSERVER更好http://book.csdn.net/bookfiles/530/10053017904.shtml

SQL怎样取出字符串中的数字?

如果只有两种情况,可以分别考虑selectcasewhenleft(spec,1)='L'thensubstring(spec,3,len(spec)-2)whencharindex(spec,'*',1)>0thensubstring(的模型spec,1,charindex(specModel,'*',1)-1)else""endSpec来自表

SQL怎么取字符串中的数字

1.创建测试表。

createtabletest_str(idint,v_strvarchar2(20));

2.

insertintotest_strvalues(1,'abc123');

insertintotest_strvalues(2,'ef414219sd');

insertintotest_strvalues(3,'123'));

insertintotest_strvalues(4,'dddfg');

提交;

3.表,选择.*fromtest_strt;

4.编写一条语句以从字符串中获取数字。

selectt.*,regexp_replace(v_str,'\D','')v_str2fromtest_strt;