【发布时间】:2019-06-12 06:09:48
【问题描述】:
使用 Pervasive SQL 数据库,我有一个复杂的 SQL SELECT 语句,其中包含以下内容:
CASE l."Position"
WHEN 3 THEN "PIC"
WHEN 4 THEN "SIC"
WHEN 22 THEN "FA"
ELSE ''
END AS "Position"
l."Position" 在数据库中存储为 TINYINT。显然,我试图返回一个字符串——基本上将数字代码转换为可理解的标签。但是该列中的结果始终为0,因为(显然)它输出一个整数字段,并且“PIC”(例如)在转换为数字时为 0。如果我将其更改为...
CASE l."Position"
WHEN 3 THEN 123
WHEN 4 THEN 456
WHEN 22 THEN 789
ELSE ''
END AS "Position"
...它按预期返回三位数字,所以我知道 Case 本身工作正常。
如何告诉 Case() 返回一个字符串/varchar ?
【问题讨论】:
标签: sql pervasive pervasive-sql