我正在尝试从字符串中解析出一个值,其中涉及获取 last index的string 。目前,我正在做一个可怕的黑客攻击,涉及反转字符串:
SELECT REVERSE(SUBSTRING(REVERSE(DB_NAME()), 1,
CHARINDEX('_', REVERSE(DB_NAME()), 1) - 1))
对我来说这段代码几乎不可读。我刚刚升级到 SQL Server 2016,希望有更好的方法。 有吗?
最佳答案
如果您想要最后一个 _
之后的所有内容,请使用:
select right(db_name(), charindex('_', reverse(db_name()) + '_') - 1)
如果您想要之前的所有内容,请使用left()
:
select left(db_name(), len(db_name()) - charindex('_', reverse(db_name()) + '_'))
关于sql - SQL Server中有LastIndexOf吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39002025/