sql 语句 中指定文件后缀删除
时间: 2024-03-06 22:50:09 浏览: 19
如果你想在 SQL 语句中删除指定的文件后缀,可以使用 SQL 中的 REPLACE 和 RIGHT 函数。具体做法如下:
```sql
SELECT REPLACE(filename, '.txt', '') AS filename_without_extension
FROM your_table;
```
这会返回一个名为 "filename_without_extension" 的新列,其中包含所有文件名,但如果文件名以 ".txt" 结尾,则 ".txt" 被删除。你可以将 ".txt" 替换为任何其他文件后缀,以删除不同的文件类型。如果你希望只删除文件名的结尾,你可以使用 SQL 中的 RIGHT 函数,如下所示:
```sql
SELECT REPLACE(RIGHT(filename, LEN(filename) - CHARINDEX('.', REVERSE(filename))), '.txt', '') AS filename_without_extension
FROM your_table;
```
在上面的代码中,RIGHT 函数用于获取文件名的结尾(即最后一个点后面的所有字符),然后使用 REPLACE 函数将 ".txt" 替换为空字符串。
相关问题
sql 语句中去掉文件后缀的写法
假设文件名存储在一个名为 "filename" 的字段中,可以使用 SQL 中的 SUBSTRING 和 CHARINDEX 函数来去掉文件后缀。具体做法如下:
```sql
SELECT SUBSTRING(filename, 1, CHARINDEX('.', filename) - 1) AS filename_without_extension
FROM your_table;
```
这会返回一个名为 "filename_without_extension" 的新列,其中仅包含文件名,不包括后缀。请注意,这假设文件名中只有一个点,即文件名只有一个后缀。如果文件名中有多个点,则需要做一些额外的处理。
sql 指定多个文件后缀删除
如果你想在 SQL 语句中删除多个指定的文件后缀,可以使用 SQL 中的 REPLACE 和 RIGHT 函数,结合 CASE 语句。具体做法如下:
```sql
SELECT
CASE
WHEN RIGHT(filename, 4) = '.txt' THEN REPLACE(filename, '.txt', '')
WHEN RIGHT(filename, 5) = '.docx' THEN REPLACE(filename, '.docx', '')
WHEN RIGHT(filename, 4) = '.pdf' THEN REPLACE(filename, '.pdf', '')
ELSE filename
END AS filename_without_extension
FROM your_table;
```
在上面的代码中,CASE 语句用于检查文件名的结尾是否为指定的文件后缀(例如 ".txt"、".docx" 和 ".pdf"),如果是,则使用 REPLACE 函数将其替换为空字符串,否则保留原始的文件名。你可以根据需要添加或删除 WHEN 语句,以适应不同的文件类型。