选择字符串SQL的最后3个字符

时间:2017-08-22 14:13:19

标签: sql string count sql-server-2016

有人可以帮助我解决一些我正在努力的SQL。

我需要选择包含文件名的字段的最后3个字符(因此我可以获取所述文件的扩展名)。理想情况下,我喜欢这些数值的计数。

选择一个字符串的前3个字符很简单,但我不知道如何选择最后的3个 - 文件名都是不同的长度。

谢谢。

2 个答案:

答案 0 :(得分:4)

两种常见的方式是:

select right(filename, 3)
select substr(filename, -3)

但是,我要提醒您,并非所有文件名都有3个字符。我建议您提出另一个问题,包括您正在使用的文件名的更多信息和示例。

答案 1 :(得分:0)

如果文件扩展名不仅仅是3个字符......并且您在其他地方没有任何句号。

declare @somefile varchar(64) = '/server/folder/sub_folder/file.extension'

select
    substring(@somefile,charindex('.',@somefile) + 1,99)

或者,如果文件路径中有句号可能但不明智。

declare @somefile varchar(64) = '/ser.ver/fo.lder/sub.folder/file.extension'

select
    right(@someFile,charindex('.',reverse(@somefile)) - 1)