我有一个数据库表FILE_TABLE,要求将文件名和扩展名合并到一个新列中。文件扩展名可以是任何东西。 MIMETYPE列中将提到。可以是application / pdf,image / tiff或audio / x-ms-wma等。
FILE_TABLE
-----------------------------------------------------------------------
ID MIMETYPE DOC_NAME TITLE DOC_TITLE
-----------------------------------------------------------------------
1. image/jpeg abc_image null abc_image.jpeg
2. image/jpeg xyz_image.jpeg null xyz_image
3. image/jpeg lmn_image lmn_image.jpeg null
4. image/jpeg 123_img 123_img null
5. image/jpeg 567_img null 567_img
6. image/jpeg null 987_img 987_img
7. image/jpeg 321_img 321_img 321_img
8 app/pdf abc null abc
我还将具有用于扩展的MIMETYPE_TABLE查找表。像这样的东西。
MIMETYPE_TABLE
-------------------------------
ID MIMETYPE FILE_EXT
-------------------------------
1 application/json json
2 image/jpeg jpeg
3 application/pdf pdf
4 audio/x-ms-wma wma
预期结果应为在NEW_DOCNAME中带有扩展名的合格文件名,如下所示。
FILE_TABLE
----------------------------------------------------------------------------
ID MIMETYPE DOC_NAME TITLE DOC_TITLE NEW_DOCNAME
----------------------------------------------------------------------------
1. image/jpeg abc_image null abc_image.jpeg abc_image.jpeg
2. image/jpeg xyz_image.jpeg null xyz_image xyz_image.jpeg
3. image/jpeg lmn_image lmn_image.jpeg null lmn_image.jpeg
4. image/jpeg 123_img 123_img null 123_img.jpeg
5. image/jpeg 567_img null 567_img 567_img.jpeg
6. image/jpeg null 987_img 987_img 987_img.jpeg
7. image/jpeg 321_img 321_img 321_img 321_img.jpeg
8 app/pdf abc null abc abc.pdf
答案 0 :(得分:0)
interface User {
attributes: {
full_name: string;
};
}
type SpecialUser = {
attributes: {
occupation: string;
};
} & User;
const user: SpecialUser = {
attributes: {
occupation: "job",
full_name: "name"
}
};
答案 1 :(得分:0)
您需要将表与查找表连接起来,并生成所需的值,如下所示:
select f.*,
coalesce(f.doc_name, f.title, f.doc_title)
|| case when
instr(coalesce(f.doc_name, f.title, f.doc_title), '.' || m.file_ext) = 0
then m.file_ext
end as new_docname
from file_table f
join mimetype_table m
on (f.mimetype = m.mimetype)
干杯!