SQL SSRS SQL查询

SQL SSRS SQL查询,sql,sql-server,Sql,Sql Server,我在像PERM12234、PERM7685这样的列中有数据。它是文本和整数的组合。我只想要它的整数部分 示例我只想从PERM12234中选择12234 提前感谢您可以使用此代码 DECLARE @str VARCHAR(MAX) SELECT LEFT(@str, PATINDEX('%[0-9][^0-9]%', @str )) AS Number, LTRIM(RIGHT(@str, LEN(@str) - PATINDEX('%[0-9][^0-9]%', @str ))) As

我在像PERM12234、PERM7685这样的列中有数据。它是文本和整数的组合。我只想要它的整数部分

示例我只想从PERM12234中选择12234

提前感谢

您可以使用此代码

 DECLARE @str VARCHAR(MAX)  SELECT LEFT(@str, PATINDEX('%[0-9][^0-9]%', @str )) AS Number,
   LTRIM(RIGHT(@str, LEN(@str) - PATINDEX('%[0-9][^0-9]%', @str ))) As Alpha

使用子字符串函数: 只有当列值始终以PERM开头时,它才会起作用

select substring(columnname,5,len(columnname)-4)

使用Substring函数从字符串中获取数字

DECLARE @str VARCHAR(MAX)  = 'abcd123456'

select substring(@str,PATINDEX('%[0-9]%', @str ),len(@str))

如果它总是以PERM开头,那么您可以使用substring(myColumn,5)。每个整数前面是否有相同的字符串?您使用的是哪种DBMS?
DECLARE @str VARCHAR(MAX)  = 'abcd123456'

select substring(@str,PATINDEX('%[0-9]%', @str ),len(@str))