我有一個表格中的某些字符串,如下圖所示:取下SELECT查詢的SQL Server
File
_________
abc.pdf
def.pdf
ghi.pdf
我想做出帶回結果下面的查詢:
abc
def
ghi
將如何我去做這個?
我有一個表格中的某些字符串,如下圖所示:取下SELECT查詢的SQL Server
File
_________
abc.pdf
def.pdf
ghi.pdf
我想做出帶回結果下面的查詢:
abc
def
ghi
將如何我去做這個?
在SQL Server中,你可以簡單地做:
SELECT REPLACE(Filename,'.pdf','') FROM File
編號:
https://docs.microsoft.com/en-us/sql/t-sql/functions/replace-transact-sql
更新
爲了防止文件名中意外刪除 「.PDF」 的是更好地使用
SELECT LEFT(Filename, LEN(Filename)-4) FROM File
刪除總是最後4個字符(.pdf
)
安德烈
試試下面:
SELECT LEFT(data, CHARINDEX('.', data) - 1)
或者
如果總是 '.PDF',那麼就使用Replace()
功能:
select replace(data, '.pdf', '')
結果:
abc
def
ghi
您可以使用下面的一個,以消除任何擴展,動態的方式來取代任何延伸段SQL
select LEFT(Filename,CHARINDEX('.', Filename) - 1) FROM File
SELECT SUBSTRING(col1, 1, INSTR(col1, '.')-1) AS FileName from File
這將爲您提供結果在動態的方式。
他們總是'.pdf'擴展名?或3個字符? – Tanner
它將永遠是.pdf – peterbonar
所有文件名都是字符+擴展名嗎?如果不是,請調整樣本數據和結果。 – jarlh