我可以在SELECT语句中索引到数组文字吗?

威廉·杰克逊

我正在从PostgreSQL数据库(该数据库不受控制)中读取数据,该数据库包含一个类似于枚举的整数列,但是该枚举值不在数据库中。

这不是我的实际数据,而是考虑一个示例students表:

id | name  | class
==================
1  | Adam  | 1
2  | Bruce | 1
3  | Chris | 3
4  | Dave  | 4

SELECT从该表荷兰国际集团,这是非常普遍的转换class栏的东西更人性化:

SELECT
    id,
    name,
    CASE class
        WHEN 1 THEN 'Freshman'
        WHEN 2 THEN 'Sophomore'
        WHEN 3 THEN 'Junior'
        WHEN 4 THEN 'Senior'
        ELSE 'Unknown'
    END
FROM students

有没有更好的方法来编写此代码?我尝试构造一个文字数组并使用该列对其进行索引,但是如果可能的话,我还没有弄清楚该语法。

这些不起作用:

SELECT {"fr", "so", "ju", "se"}[class] FROM students

SELECT '{"fr", "so", "ju", "se"}'[class] FROM students
威廉·杰克逊

您可以使用ARRAY关键字构造数组:

SELECT (ARRAY['fr', 'so', 'ju', 'se'])[class] FROM students

在PostgreSQL中,数组下标以开头1,而不是以开头0,因此,如果类枚举列0用作其值之一,则可能需要对其进行移位以获取所需的内容。例如,如果的值为class0、1、2和3,则可以将1加到class

SELECT (ARRAY['fr', 'so', 'ju', 'se'])[class + 1] FROM students

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以在case语句中使用数组吗?

来自分类Dev

我可以在select语句中使用别名吗?

来自分类Dev

我可以在语句中声明变量吗?

来自分类Dev

我可以省略if语句中的then部分吗?

来自分类Dev

我可以传递选项数组以在 if 语句中进行比较吗

来自分类Dev

我可以在选择语句中使用动态键对 Postgresql 中的 jsonb 数组求和吗?

来自分类Dev

我可以引用前面在MySQL select语句中创建的变量吗?

来自分类Dev

可以在SELECT语句中嵌入DESCRIBE语法吗?

来自分类Dev

您可以在 joins on 子句中使用 Select 语句吗?

来自分类Dev

我可以在LINQ语句中合并空检查吗?

来自分类Dev

我可以重用更新语句中的值吗?

来自分类Dev

我可以在多个DML语句中引用Sqlite CTE吗?

来自分类Dev

我可以在LibreOffice calc IF语句中使用OR吗?

来自分类Dev

(如何)我可以在switch语句中使用“或”吗?

来自分类Dev

我可以在switch语句中使用变量吗?

来自分类Dev

我可以在角度“ else”语句中制作CSS代码吗?

来自分类Dev

我可以在With语句中引用目标变量吗?

来自分类Dev

我可以在catch语句中使用Scanner吗

来自分类Dev

玉-我可以在'if'语句中引用DOM元素吗?

来自分类Dev

我可以在LINQ语句中合并空检查吗?

来自分类Dev

我可以在LINQ语句中包含方法调用吗?

来自分类Dev

我可以在 if else 语句中命名变量吗?Python

来自分类Dev

我可以在 MySQL 的 SQL 语句中使用 IF 吗?

来自分类Dev

我可以在 SQL 语句中执行算术运算吗?

来自分类Dev

您可以在OR语句中嵌入AND语句吗?

来自分类Dev

我可以在switch case语句中使用用户输入语句吗?

来自分类Dev

在Select语句中获取列表的项目索引

来自分类Dev

for循环的语句中可以有赋值吗?

来自分类Dev

可以在if语句中嵌入html吗?

Related 相关文章

  1. 1

    我可以在case语句中使用数组吗?

  2. 2

    我可以在select语句中使用别名吗?

  3. 3

    我可以在语句中声明变量吗?

  4. 4

    我可以省略if语句中的then部分吗?

  5. 5

    我可以传递选项数组以在 if 语句中进行比较吗

  6. 6

    我可以在选择语句中使用动态键对 Postgresql 中的 jsonb 数组求和吗?

  7. 7

    我可以引用前面在MySQL select语句中创建的变量吗?

  8. 8

    可以在SELECT语句中嵌入DESCRIBE语法吗?

  9. 9

    您可以在 joins on 子句中使用 Select 语句吗?

  10. 10

    我可以在LINQ语句中合并空检查吗?

  11. 11

    我可以重用更新语句中的值吗?

  12. 12

    我可以在多个DML语句中引用Sqlite CTE吗?

  13. 13

    我可以在LibreOffice calc IF语句中使用OR吗?

  14. 14

    (如何)我可以在switch语句中使用“或”吗?

  15. 15

    我可以在switch语句中使用变量吗?

  16. 16

    我可以在角度“ else”语句中制作CSS代码吗?

  17. 17

    我可以在With语句中引用目标变量吗?

  18. 18

    我可以在catch语句中使用Scanner吗

  19. 19

    玉-我可以在'if'语句中引用DOM元素吗?

  20. 20

    我可以在LINQ语句中合并空检查吗?

  21. 21

    我可以在LINQ语句中包含方法调用吗?

  22. 22

    我可以在 if else 语句中命名变量吗?Python

  23. 23

    我可以在 MySQL 的 SQL 语句中使用 IF 吗?

  24. 24

    我可以在 SQL 语句中执行算术运算吗?

  25. 25

    您可以在OR语句中嵌入AND语句吗?

  26. 26

    我可以在switch case语句中使用用户输入语句吗?

  27. 27

    在Select语句中获取列表的项目索引

  28. 28

    for循环的语句中可以有赋值吗?

  29. 29

    可以在if语句中嵌入html吗?

热门标签

归档