2017-10-04 70 views
-1

我有一個表格中的某些字符串,如下圖所示:取下SELECT查詢的SQL Server

File 
    _________ 
    abc.pdf 
    def.pdf 
    ghi.pdf 

我想做出帶回結果下面的查詢:

abc 
    def 
    ghi 

將如何我去做這個?

+0

他們總是'.pdf'擴展名?或3個字符? – Tanner

+0

它將永遠是.pdf – peterbonar

+0

所有文件名都是字符+擴展名嗎?如果不是,請調整樣本數據和結果。 – jarlh

回答

1

試試下面:

SELECT LEFT(data, CHARINDEX('.', data) - 1) 

或者

如果總是 '.PDF',那麼就使用Replace()功能:

select replace(data, '.pdf', '') 

結果:

abc 
def 
ghi 
0

您可以使用下面的一個,以消除任何擴展,動態的方式來取代任何延伸段SQL

select LEFT(Filename,CHARINDEX('.', Filename) - 1) FROM File 
0
SELECT SUBSTRING(col1, 1, INSTR(col1, '.')-1) AS FileName from File 

這將爲您提供結果在動態的方式。