正确的方法是(
@Q_Z_Lin ),先写一个function,过滤字母。
例如:
CREATE FUNCTION udf_extractInteger(
@string VARCHAR(2000))
RETURNS VARCHAR(2000)
AS
BEGIN
DECLARE
@count int
DECLARE @intNumbers VARCHAR(1000)
SET @count = 0
SET @intNumbers = ''
WHILE @count <= LEN(@string)
BEGIN
IF SUBSTRING(@string, @count, 1)>='0' and SUBSTRING (@string, @count, 1) <='9'
BEGIN
SET @intNumbers = @intNumbers + SUBSTRING (@string, @count, 1)
END
SET @count = @count + 1
END
RETURN @intNumbers
END
GO
之后,再引用这个function。
SELECT CAST(dbo.udf_extractInteger('s123123') AS INT) As OnlyINT