81070108
81070109
81070110
81070111
81070228
81070257
81070258
81070259
810702H01U01
810702H02U01
81070340
81070341
81070387
810703H01U01
如上述数据,我想求出这一列除了含有字母的数据的最大值:81070387
这里数据长度是不固定的
SELECT MAX( [NumStr]) AS MAXNUM
FROM [dbo].[TempTable]
WHERE [NumStr] NOT LIKE ('%[A-Z,a-z]%')
这个对的,谢谢!
有个笨方法,先用集合得到所有数据,再循环判断这集合中每条是int类型的数据,用另一个集合来存,然后。。。
有个sql函数叫 ISNUMERIC(@value)
所以语句如下:
SELECT MAX(id) FROM Ttt WHERE ISNUMERIC(id)=1
这个不是完全满足你的题意。@贪心狸猫 的方法更好~
数据量小使用like还好,数据量大一点就不大好了,使用函数多了,效率也会有所降低。
我有个方案,sql中允许使用正则表达式,不过性能也会有所降低,如果想在sql中使用正则的话,欢迎参考我的新浪博客:http://blog.sina.com.cn/s/blog_75a555e40100vtvr.html 前提是sql 2005以上,2000是不支持的
学习了