查询结果只是数字,如果它们是字符串,则很容易阅读和理解。如何在查询结果中标记数字的等效字符串。
数字与字符串的映射必须在查询中。
从表中选择数字;查询结果为 9,2,4,7。字符串文字将被映射到这个数字。num 范围是从 {0-9} 0-预付,1-后付同样明智
查询结果只是数字,如果它们是字符串,则很容易阅读和理解。如何在查询结果中标记数字的等效字符串。
数字与字符串的映射必须在查询中。
从表中选择数字;查询结果为 9,2,4,7。字符串文字将被映射到这个数字。num 范围是从 {0-9} 0-预付,1-后付同样明智
您可以CASE
像这样使用表达式:
SELECT
...
CASE
WHEN 1 THEN 'Postpaid'
WHEN 2 THEN 'prepaid'
...
END
...
您也可以使用临时表来执行此操作,例如:
DECLARE @t Table(NumberToReplace INT, replacewith VARCHAR(50));
INSERT INTO @t VALUES
(1, 'Postpaid'),
(2, 'Prepaid'),
...
然后可以JOIN
将两张表中的数字替换为对应的字符串:
SELECT
t1.Column1, t1.Column1, t2.replacewith
FROM YourTable t1
LEFT JOIN temp t2 ON t1.NumberToReplace = t2.NumberToReplace
我曾经为另一个表中没有对应字符串的数字LEFT JOIN
提供值。NULL
这是你想要的吗?
SELECT id, IF(my_field REGEXP '[digit]', 'is_string', 'is_numeric') as result
FROM my_Table