从SELECT查询sql server中删除某个字符串

时间:2017-10-04 09:56:11

标签: sql sql-server

我有一张表A,如下所示:

    File
  _________
   abc.pdf 
   def.pdf
   ghi.pdf

我想提出一个带来以下结果的查询:

   abc
   def
   ghi

我将如何做到这一点?

4 个答案:

答案 0 :(得分:2)

在sql server中你可以做到:

SELECT REPLACE(Filename,'.pdf','') FROM File

价:
https://docs.microsoft.com/en-us/sql/t-sql/functions/replace-transact-sql

<强>更新
防止意外删除&#34; .pdf&#34;在文件名中最好使用

SELECT LEFT(Filename, LEN(Filename)-4) FROM File

始终删除最后4个字符(.pdf

安德烈

答案 1 :(得分:1)

尝试下面的内容:

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

如果您总是&#39; .pdf&#39;,那么只需使用Replace()功能:

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

结果:

abc
def
ghi

答案 2 :(得分:0)

您可以使用下面的一个删除任何扩展,动态方式来替换SQL中的任何扩展

select LEFT(Filename,CHARINDEX('.', Filename) - 1) FROM File

答案 3 :(得分:0)

SELECT SUBSTRING(col1, 1, INSTR(col1, '.')-1) AS FileName from File

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