显示查询结果中的数字字符串

时间:2012-09-27 06:45:26

标签: mysql

查询结果只是数字,它很容易通过读取并理解它们是否为字符串。 如何在查询结果中标记数字的String等效项。

数字与字符串的映射必须位于查询中。

从表中选择num; 查询结果为9,2,4,7。 字符串文字将映射到此数字。 num范围是{0-9} 0-Prepaid,1 -postpaid like wise

2 个答案:

答案 0 :(得分:2)

您可以像这样使用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值。

Here is a demo in sQL fiddle

答案 1 :(得分:1)

这是你想要的吗?

SELECT id, IF(my_field REGEXP '[digit]', 'is_string', 'is_numeric') as result
FROM my_Table

查看此http://sqlfiddle.com/#!2/48a6c/1

相关问题