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

Update field value based on file extension

Table 有 2 个字段

FileNameFileType

 FileName         FileType

File1.txt           png

File2.png           docx

File3.docx          txt

我想根据 FileName 字段中相应的文件扩展名更新 FileType 字段

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

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

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