SSMS SQL在第一次找到特定字符串后仅返回几个字符
我试图在第一次在列中找到某个字符串后只返回9个字符(或$amount的总数) 示例输入1:“您当前欠的金额为5000.00美元,未欠的金额为2000.00美元” 示例输入2:“您当前欠的金额为$0.00,您未欠的金额为$0.00” 示例输出1:$5000.00 示例输出2:$0.00SSMS SQL在第一次找到特定字符串后仅返回几个字符,sql,sql-server-2008,substring,ssms,charindex,Sql,Sql Server 2008,Substring,Ssms,Charindex,我试图在第一次在列中找到某个字符串后只返回9个字符(或$amount的总数) 示例输入1:“您当前欠的金额为5000.00美元,未欠的金额为2000.00美元” 示例输入2:“您当前欠的金额为$0.00,您未欠的金额为$0.00” 示例输出1:$5000.00 示例输出2:$0.00 谢谢 提供的信息很少,我想这就是您可能看到的 DECLARE @Desc VARCHAR(100) = 'The amount you currently owe is $1.00 The amount you
谢谢 提供的信息很少,我想这就是您可能看到的
DECLARE @Desc VARCHAR(100) = 'The amount you currently owe is $1.00 The amount you do not owe is $2,000.00'
SELECT SUBSTRING(@Desc, PATINDEX('%$%', @Desc), ABS(CHARINDEX(N'.', @Desc, CHARINDEX(N'$', @Desc, 1)) - CHARINDEX(N'$', @Desc, 1)) + 3)
DECLARE @Desc VARCHAR(100) = 'The amount you currently owe is $10.00 The amount you do not owe is $2,000.00'
SELECT SUBSTRING(@Desc, PATINDEX('%$%', @Desc), ABS(CHARINDEX(N'.', @Desc, CHARINDEX(N'$', @Desc, 1)) - CHARINDEX(N'$', @Desc, 1)) + 3)
DECLARE @Desc VARCHAR(100) = 'The amount you currently owe is $100.00 The amount you do not owe is $2,000.00'
SELECT SUBSTRING(@Desc, PATINDEX('%$%', @Desc), ABS(CHARINDEX(N'.', @Desc, CHARINDEX(N'$', @Desc, 1)) - CHARINDEX(N'$', @Desc, 1)) + 3)
DECLARE @Desc VARCHAR(100) = 'The amount you currently owe is $1,000.00 The amount you do not owe is $2,000.00'
SELECT SUBSTRING(@Desc, PATINDEX('%$%', @Desc), ABS(CHARINDEX(N'.', @Desc, CHARINDEX(N'$', @Desc, 1)) - CHARINDEX(N'$', @Desc, 1)) + 3)
DECLARE @Desc VARCHAR(100) = 'The amount you currently owe is $10,000.00 The amount you do not owe is $2,000.00'
SELECT SUBSTRING(@Desc, PATINDEX('%$%', @Desc), ABS(CHARINDEX(N'.', @Desc, CHARINDEX(N'$', @Desc, 1)) - CHARINDEX(N'$', @Desc, 1)) + 3)
DECLARE @Desc VARCHAR(100) = 'The amount you currently owe is $100,000.00 The amount you do not owe is $2,000.00'
SELECT SUBSTRING(@Desc, PATINDEX('%$%', @Desc), ABS(CHARINDEX(N'.', @Desc, CHARINDEX(N'$', @Desc, 1)) - CHARINDEX(N'$', @Desc, 1)) + 3)
DECLARE @Desc VARCHAR(100) = 'The amount you currently owe is $1,000,000.00 The amount you do not owe is $2,000.00'
SELECT SUBSTRING(@Desc, PATINDEX('%$%', @Desc), ABS(CHARINDEX(N'.', @Desc, CHARINDEX(N'$', @Desc, 1)) - CHARINDEX(N'$', @Desc, 1)) + 3)
您好@BrentH,请发布一些带有预期结果的示例数据。作为额外的跟进,如果我想返回第二个美元金额,我将如何调整代码?查找第二个美元符号或反转字符串。