日期:2014-05-17  浏览次数:20549 次

sql 截取字符串的
数据库有字段段A,格式XXXX{年份}数字号,如:校园院涵〔2012〕1号 ,其中数字的位数不定,我想根据不同的年份截取得到 〕与号 之间的数,并且取数值最大的一条记录。


------解决方案--------------------
try
SQL code
select top 1 * from tb
order by
  cast(substring(A,charindex('〕',A),charindex('号',A)-charindex('〕',A)-1) as int) desc

------解决方案--------------------
探讨
牛人,我我菜鸟,不太看的懂,DBO.GET_NUMBER这怎么写到我代码中去?

引用:

SQL code

--提取数字
IF OBJECT_ID('DBO.GET_NUMBER') IS NOT NULL
DROP FUNCTION DBO.GET_NUMBER
GO
CREATE FUNCTION DBO.GET_NUMBER(@S VARCHAR(10……