指引网

当前位置: 主页 > 数据库 > SQLServer >

数据库截取字段并转换成int型函数

来源:网络 作者:佚名 点击: 时间:2018-03-14 17:58
[摘要] 数据库截取字段并转换成int型函数USE [IAR_Factory_509]GO/****** 对象: UserDefinedFunction [dbo].[GET_STRFILE1] 脚本日期: 09/13/2012 13:24:12 ******/ www.2cto.com SET ANSI_NULLS ONGOSET...

数据库截取字段并转换成int型函数   USE [IAR_Factory_509] GO /****** 对象:  UserDefinedFunction [dbo].[GET_STRFILE1]    脚本日期: 09/13/2012 13:24:12 ******/  www.2cto.com   SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER FUNCTION [dbo].[GET_STRFILE1](@a VARCHAR(50),@num int) RETURNS VARCHAR(50) AS 
  BEGIN   DECLARE @SQL NVARCHAR(500)   declare @ret int declare @isNum int declare @sec varchar(50)   if(@a!='') if(@num=0)  select @SQL=PATINDEX('%[0-9]%', @a)   else  select @SQL=PATINDEX('%]%', @a)  if(@SQL>0) begin   select @sec=SUBSTRING(@a, PATINDEX('%]%', @a)+1, LEN(@a) - PATINDEX('%]%', @a) + 1 )  www.2cto.com     select @isNum=isNumeric(@sec)    if(@isNum=1)      begin      select @ret=cast(@sec as int)      end     else       begin      select @ret=cast(SUBSTRING(@sec, PATINDEX('%[0-9]%', @sec), PATINDEX('%[^0-9%]', @sec)- 1 ) as int)     end
   end  else   begin      select @isNum=isNumeric(SUBSTRING(@a, PATINDEX('%]%', @a)+1, LEN(@a) - PATINDEX('%]%', @a) + 1 ))    if(@isNum=1)      begin      select @ret=cast(SUBSTRING(@a, PATINDEX('%]%', @a)+1, LEN(@a) - PATINDEX('%]%', @a) + 1 ) as int)      end   www.2cto.com      else  select @ret=0   end return @ret end
 
------分隔线----------------------------