substring和charindex函数的嵌套使用

乾坤 60 信誉分
2024-04-26T06:13:42.31+00:00

我正在尝试在substring函数里面嵌套使用charindex函数,但是好像不太对,是哪里出问题了吗?

这是我的语句:

DECLARE @STRING VARCHAR(MAX)
SET @STRING='DBCC-4578'
SELECT SUBSTRING(@STRING,CHARINDEX(@STRING,'-',1)+1,LEN(@STRING))

想要截取字符串中‘-’后面的数字,但是运行结果却是一整个字符串。

SQL Server
SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
163 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. LiHongMSFT-4306 27,881 信誉分
    2024-04-26T06:29:23.92+00:00

    应该是语法问题。

    比较一下这两个函数的语法:

    SUBSTRING ( expression, start, length )

    CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )

    所以原语句应该改为:SELECT SUBSTRING(@STRING,CHARINDEX('-',@STRING,1)+1,LEN(@STRING))


    如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。


0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。