在SQL中分离STRING和INTEGER

时间:2014-03-04 17:17:30

标签: sql-server

我有一个包含字符串和整数的列(例如:125D,S234,..) 现在我想分隔整数和字符串。如何在SQL Server中执行此操作???

1 个答案:

答案 0 :(得分:0)

这应该可以满足您的需求。如果它不止一次,你可以把它变成一个函数。或者,如果你有某种ETL过程,也许你可以将它分成一个加载时间。

DECLARE @MyString varchar(1000) = 'A1b2C3';

declare @Counter integer = 1;
declare @currChar char(1) = '';;
declare @charString varchar(1000) = '';
declare @intString varchar(1000) = '';



while (@Counter <= len(@MyString))
begin
 set @currChar = substring(@MyString,@Counter,1)
   if isNumeric(@currChar) = 1
          set @intString = @intString + @currChar
   else
       set @charString = @charString + @currChar

  set @counter = @counter + 1
end

select @charString;
select cast(@intString as integer)