根据文件扩展名更新字段值

时间:2015-02-17 12:14:31

标签: sql sql-server sql-update

有2个字段的表

FileNameFileType

 FileName         FileType

File1.txt           png

File2.png           docx

File3.docx          txt

我想根据FileType字段

中相应的文件扩展名更新FileName字段

1 个答案:

答案 0 :(得分:1)

即使在FileName中没有文件扩展名的情况下,这也应该有效:

UPDATE MyTable
SET FileType = NULLIF(SUBSTRING(FileName, LEN(FileName) - 
CHARINDEX('.', REVERSE(FileName)) + 2, LEN(FileName)), '')

基本上它将FileType值设置为从FileName字段的最后一个索引之后的.字段中拉出的子字符串。如果FileName中没有文件扩展名,例如File4,它会将FileType设置为NULL