MSSQL如何取出字段内的数字(mssql 取字段内数字)
在微软SQL Server (MSSQL)中,取出字段内的数字可以使用内置函数SUBSTRING函数来进行操作。SUBSTRING允许将字段内的子字符串抽取出来,可以用在取出字段内的数字上,以实现选取数字的目的。
以下是一个例子,使用SUBSTRING来取出字段Users表内的Username字段中的数字:
“`sql
SELECT Username, SUBSTRING(Username, PATINDEX(‘%[0-9]%’, Username), LEN(Username)) as Number
FROM Users
上面的代码使用PATINDEX函数来定位字段中的数字位置,然后从指定位置开始取出该字段长度,这样就能取出里面的数字。
当然,上述代码只能取出字段内最后一串数字,要想取出多个,则需要使用while循环来实现,以下是一个取出多个数字的例子:
```sqlDeclare @Username nvarchar(50)
Declare @Number nvarchar(50)
Set @Username = 'cj12345abcd'Set @Number = ''
While PATINDEX('%[0-9]%', @Username) > 0 BEGIN
Set @Number = @Number + SUBSTRING(@Username, PATINDEX('%[0-9]%', @Username), 1) Set @Username = STUFF(@Username, PATINDEX('%[0-9]%', @Username), 1, '')
END
Select @Number as Number
以上代码会输出出“12345”的字符串,这就是字段中的所有数字。
总之,在MSSQL中,使用SUBSTRING函数可以很方便的取出字段内的数字,只要根据实际情况加入循环语句就可以取出多个数字。