Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SSMS SQL在第一次找到特定字符串后仅返回几个字符_Sql_Sql Server 2008_Substring_Ssms_Charindex - Fatal编程技术网

SSMS SQL在第一次找到特定字符串后仅返回几个字符

SSMS 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

我试图在第一次在列中找到某个字符串后只返回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 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,请发布一些带有预期结果的示例数据。作为额外的跟进,如果我想返回第二个美元金额,我将如何调整代码?查找第二个美元符号或反转字符串。