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循环来实现,以下是一个取出多个数字的例子:

```sql
Declare @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函数可以很方便的取出字段内的数字,只要根据实际情况加入循环语句就可以取出多个数字。


数据运维技术 » MSSQL如何取出字段内的数字(mssql 取字段内数字)