SQL SSRS SQL查询
我在像PERM12234、PERM7685这样的列中有数据。它是文本和整数的组合。我只想要它的整数部分 示例我只想从PERM12234中选择12234 提前感谢您可以使用此代码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
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))