Switch()ネストされた式の代わりとして考えてくださいIIf()。
このデータでDB_Total...
id Type
1 BOOL
2 abc
3 <-- Type is Null
4 WORD
5 DINT
...このクエリは次のように更新DB_Totalされます...
UPDATE DB_Total
SET [Type] = Switch(
[Type]='BOOL','DIGITAL',
[Type]='WORD','UINT',
[Type]='DINT','LONG'
)
WHERE [Type] IN ('BOOL', 'WORD', 'DINT');
DB_Total後:
id Type
1 DIGITAL
2 abc
3
4 UINT
5 LONG
ただし、別のアプローチの方が便利な場合があります。replacementsテーブルを作成します。
id old_type new_type
1 BOOL DIGITAL
2 WORD UINT
3 DINT LONG
次に、このステートメントはバージョンUPDATEと同じ変更を生成します。DB_TotalSwitch()
UPDATE DB_Total AS d
INNER JOIN replacements AS r
ON d.Type = r.old_type
SET d.Type = [r].[new_type];
将来、単語置換のペアを変更または追加/削除する必要がある場合は、replacementsテーブルを編集するだけで済みます。その場合、クエリを修正する必要はありません。