Kar*_*rim 10 sql sql-server string
我的表中有这样的路径TBL_Documents
:
上传/文档/6093/12/695-Graco-SW_5-15-19.pdf
我需要将它与现在上传的文件进行比较,如下所示:
695-Graco-SW_5-15-19.pdf
我想将表中的路径与上传的文件名进行比较。我尝试substring()
在第一个右侧使用/
,但我真的不明白子字符串是如何真正工作的。例如,我尝试这样做:
select substring(right(path,1),1,1) as path from TBL_DOCUMENT
Run Code Online (Sandbox Code Playgroud)
但它只给了我右边的第一个字符。我希望看到最后一个/
角色之后的一切。
我怎样才能做到这一点?
Ste*_*ord 17
我会使用一种方法来查找您需要从右侧使用多少个字符。我会首先反转字符串,然后搜索“/”来完成此操作。这将告诉您这个“/”从右边开始有多少个字符。然后我会在函数中使用它RIGHT
:
MS SQL Server 2017 架构设置:
查询1:
DECLARE @documentName varchar(100) = 'Uploads/Documents/6093/12/695-Graco-SW_5-15-19.pdf'
SELECT RIGHT(@documentName, CHARINDEX('/',REVERSE(@documentName))-1)
Run Code Online (Sandbox Code Playgroud)
结果:
| |
|--------------------------|
| 695-Graco-SW_5-15-19.pdf |
Run Code Online (Sandbox Code Playgroud)