(这是我在工作中遇到的实际难题的一个简单得多的案例)
假设我有一个名为“a”的表,其中有一列名为“col”的列具有以下值(比如长度为 2 且具有许多随机字符组合的列):
上校 A3 D2 @5 #) ...
我想使用一个 select 语句,它输出两列名为“letter”和“number”的列,其中“letter”是“col”的第一个字符,“number”是“col”的第二个字符,但具有以下映射:
If substring(col FROM 1 for 1) in ('!','@','#'),
then letter = 'A' and 'number' = substring(col FROM 2 for 1)
Run Code Online (Sandbox Code Playgroud)
(即,如果 'col' 中某事物的第一个字符是 '!'、'@' 或 '#',则将其映射到 'letter' 为 'A',同时保持 'col' 的第二个字符相同并映射该值到“数字”)
If col = '%9',
then 'letter' = 'H' and 'number' = '9'
Run Code Online (Sandbox Code Playgroud)
(即,如果 'col' 中的特定值是 '%9',则将其映射到 'letter' 为 'H' 和 'number' 为 '9')
If substring(col FROM 2 for 1) = '4',
then 'letter' = substring(col FROM …Run Code Online (Sandbox Code Playgroud)