[英]SQL server query: remove text between the last index of two characters?
我有一個存儲文件密鑰的字段,例如:
dev/application/document_type_name/document 12345-67890_123.pdf
我需要選擇末尾沒有數字的鍵,因此值看起來像:
dev/application/document_type_name/document 12345-67890_.pdf
自從我完成T-SQL以來已經有一段時間了,但是從.NET方面來看,我認為一般策略是:
在C#中,我認為應該是這樣的:
var test = "dev/application/document_type_name/document 12345-67890_123.pdf"
var indexOfUnderscore = test.LastIndexOf("_");
var indexOfPeriod = test.LastIndexOf(".");
var textToReplace = subtring(indexOfUnderscore + 1, indexOfPeriod -1);
var output = test.Replace(textToReplace, String.Empty);
筆記:
嘗試
select left(@s,len(@s)-charindex('_',REVERSE(@s)))+'_.pdf'
@s
是您的字符串。 或者如果文件擴展名可以更改
select left(@s,len(@s)-charindex('_',REVERSE(@s))+1)
+ right(@s,charindex('.',REVERSE(@s)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.