Eu tenho uma tabela que contém formatos de imagem, por exemplo:
'jpg', 'FFD8FFD8'
'png', '89504E470D0A1A0A'
Eu tenho outro que contém imagens onde está o tipo de coluna image
.
Como posso escrever uma consulta que compare a imagem na tabela de imagens com a tabela de formatos de imagem e retorne o tipo de imagem (por exemplo, jpg ou png)?
Idealmente, a coluna de prefixo deveria ser
varbinary(max)
. Além disso, oimage
tipo de dados está obsoleto e deveria estarvarbinary(max)
também.Seja como for, você pode usar
SUBSTRING
para verificar se o prefixo corresponde. Use umaCROSS APPLY
junção lateral para pré-converter o valor antes de compará-lo.banco de dados<> violino
Por outro lado, o cabeçalho para JPEG é fixado apenas em
FFD8
e BMP é424D
.