将int值分配给特定的字符串

tomturton

考虑下面的简单MySQL表:

| Answer           |
| ---------------- |
| Extremely likely |
| Likely           |
| Likely           |
| Not a chance     |
| Likely           |
| Potato           |
| Unlikely         |

我想从该表向SELECT写一个查询,该查询将所有出现的“极有可能”替换为1,将“很可能”替换为2,将“不太可能”替换为3,将“没有机会”替换为4。

所有其他答案都不应转换。

因此结果将是:

| Answer |
| ------ |
| 1      |
| 2      |
| 2      |
| 4      |
| 2      |
| Potato |
| 3      |

可以仅使用SQL来完成吗?


在回答了这个问题之后,我意识到只有在另一个字段具有特定值时,我才需要这样做。这是一张桌子:

| QuestionID | Answer           |
| ---------- | ---------------- |
| how_likely | Extremely likely |
| how_likely | Likely           |
| how_likely | Likely           |
| fave_veg   | Potato           |

我成功使用的查询是:

SELECT QuestionID,
    IF(
        QuestionID = 'how_likely',
        CASE Answer
            WHEN 'Extremely likely' THEN 1
            WHEN 'Likely'           THEN 2
            WHEN 'Unlikely'         THEN 3
            WHEN 'Not a chance'     THEN 4
        END,
        Answer
    ) AS Answer
FROM `answers`
格威
SELECT CASE answer
         WHEN 'Extremely Likely' THEN 1
         WHEN 'Likely'           THEN 2
         WHEN 'Unlikely'         THEN 3
         WHEN 'Not a chance'     THEN 4
         ELSE answer
       END As new_answer
FROM   your_table

编辑:如果您有很多[动态]替换要做,那么您可能会发现此方法过于繁琐以至于无法维护。在这些情况下,您应该创建一个查询表,可以执行以下OUTER JOIN操作:

SELECT Coalesce(lookup_values.new_answer, your_table.answer) As new_answer
FROM   your_table
 LEFT
  JOIN lookup_values
    ON lookup_values.answer = your_table.answer

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将char *分配给字符串而不复制

来自分类Dev

使用AutoMapper将特定的XML元素从字符串分配给ViewModel

来自分类Dev

将字符串响应中的特定数据分配给变量

来自分类Dev

将内存分配给字符串数组

来自分类Dev

如果将字符放置在字符串(数组)中,则将字符串值分配给字符

来自分类Dev

将空字符串分配给php变量

来自分类Dev

需要帮助将(int)值分配给组合框项目(字符串)

来自分类Dev

将字符串分配给int会怎样?

来自分类Dev

将进程分配给字符串?

来自分类Dev

将字符串数组分配给char **

来自分类Dev

将字符串数组分配给char **

来自分类Dev

将字符串文字分配给char *

来自分类Dev

如何检查分配给“字符串”的值

来自分类Dev

将整数值分配给字符串

来自分类Dev

将字符串的长度分配给整数:C ++

来自分类Dev

如何将变量分配给具有特定索引的拆分字符串?

来自分类Dev

将内存分配给特定的“字符串”

来自分类Dev

将int分配给pandas列表列中的字符串

来自分类Dev

Python无法根据两个整数的值将值分配给字符串

来自分类Dev

使用AutoMapper将特定的XML元素从字符串分配给ViewModel

来自分类Dev

将字符串分配给动态int数组时的重新分配问题

来自分类Dev

如果将字符放置在字符串(数组)中,则将字符串值分配给字符

来自分类Dev

如何确定如何使用input()和.split()将字符串分配给特定变量

来自分类Dev

将字符串分配给int会怎样?

来自分类Dev

KPIT GCC将文本字符串分配给特定的链接器部分

来自分类Dev

将捕获的组分配给值,如果不匹配,则分配字符串

来自分类Dev

将值分配给字符串向量

来自分类Dev

如何将字符串分配给 int 变量?

来自分类Dev

如何将字符串中的字符分配给对象中的值?

Related 相关文章

  1. 1

    将char *分配给字符串而不复制

  2. 2

    使用AutoMapper将特定的XML元素从字符串分配给ViewModel

  3. 3

    将字符串响应中的特定数据分配给变量

  4. 4

    将内存分配给字符串数组

  5. 5

    如果将字符放置在字符串(数组)中,则将字符串值分配给字符

  6. 6

    将空字符串分配给php变量

  7. 7

    需要帮助将(int)值分配给组合框项目(字符串)

  8. 8

    将字符串分配给int会怎样?

  9. 9

    将进程分配给字符串?

  10. 10

    将字符串数组分配给char **

  11. 11

    将字符串数组分配给char **

  12. 12

    将字符串文字分配给char *

  13. 13

    如何检查分配给“字符串”的值

  14. 14

    将整数值分配给字符串

  15. 15

    将字符串的长度分配给整数:C ++

  16. 16

    如何将变量分配给具有特定索引的拆分字符串?

  17. 17

    将内存分配给特定的“字符串”

  18. 18

    将int分配给pandas列表列中的字符串

  19. 19

    Python无法根据两个整数的值将值分配给字符串

  20. 20

    使用AutoMapper将特定的XML元素从字符串分配给ViewModel

  21. 21

    将字符串分配给动态int数组时的重新分配问题

  22. 22

    如果将字符放置在字符串(数组)中,则将字符串值分配给字符

  23. 23

    如何确定如何使用input()和.split()将字符串分配给特定变量

  24. 24

    将字符串分配给int会怎样?

  25. 25

    KPIT GCC将文本字符串分配给特定的链接器部分

  26. 26

    将捕获的组分配给值,如果不匹配,则分配字符串

  27. 27

    将值分配给字符串向量

  28. 28

    如何将字符串分配给 int 变量?

  29. 29

    如何将字符串中的字符分配给对象中的值?

热门标签

归档