回答

收藏

第N个匹配项之前的SQL文本?

技术问答 技术问答 288 人阅读 | 0 人回复 | 2023-09-12

使用SQL,我想回到列中第三个正斜杠之前的所有文本
3 C3 h- @! q" i" @所以
3 w( f' _0 w: z8 x/one/two/three/whatever/testing会返回:
' H; v) R) x  C! X* c/one/two/three在SQL任何快速肮脏的方法(尤其是MS SQL 2005 下的MS T-SQL)吗?6 W1 |+ R  F4 E& f
                                                                & K  R- X/ e, ]# e7 u
    解决方案:                                                               
3 w5 ]. b  I7 X+ C+ U  _, _                                                                因为你说的是快又脏,我假设这个非常快又脏的解决方案不会收到很多反对意见。SQL使用多个SUBSTRING()函数找到第三个斜杠:" Y0 X) G. x- n. Q2 q* h* I4 v. l' D
DECLARE @str VARCHAR(50)SET @str = '/one/two/three/whatever/testing'SELECT SUBSTRING(@str,0,CHARINDEX('/',@str,CHARINDEX('/',@str,CHARINDEX('/',@str,CHARINDEX('/',@str,   1)   1)   1)这里可以看到一个有效的例子。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则