1

Sync_CheckData我在 Microsoft SQL Server 的标量值函数下有一个用户定义的函数。它实际上做的是检查发出的产品数量和余额数量是否相同。如果有问题,返回一个ErrorStr nvarchar(255).

输出示例:

Balance Stock Error for Product ID : 4

从上面的字符串中,我想得到 4,以便稍后我可以通过使用WHERE子句 ( WHERE Product_ID = 4) 选择出现错误的行。

我可以使用哪个 SQL 函数来获取substring?

4

3 回答 3

3

尝试这个

DECLARE @STR AS VARCHAR(1000)
SELECT @STR='Balance Stock Error for Product ID : 4'

SELECT substring(@STR,charINDEX(':',@STR)+1,LEN(@STR)-charINDEX(':',@STR)+1)
于 2013-06-28T03:02:45.553 回答
1

尝试这个

DECLARE @String VARCHAR(100)

SET @String = 'Balance Stock Error for Product ID : 4'

SELECT RIGHT(@string, CHARINDEX(':', REVERSE(@string))-2)

OR

SELECT RIGHT(@string,(LEN(@string)+1)-PATINDEX('%[0-9]%', @string))
于 2013-06-28T04:16:27.213 回答
1

我会用RIGHT这个:

declare @response varchar(100)
set @response = 'Balance Stock Error for Product ID : 4'

select right(@response, len(@response) - charindex(':', @response))

小提琴示例:http ://sqlfiddle.com/#!3/d41d8/16397 (从上面更改)

于 2013-06-28T03:07:12.703 回答