2017-10-04 73 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 

这将为您提供结果在动态的方式。