【问题标题】:How to change value of如何改变价值
【发布时间】:2021-09-11 16:31:29
【问题描述】:

我有一个如下所示的表格:

date|type|number
--------------------
28-jun-21,dog,23
28-jun-21,cat,24
28-jun-21,lion,23

我想做一个选择语句,将狗值更改为hyena。所以,它看起来像这样:

date|type|number
--------------------
28-jun-21,hyena,23
28-jun-21,cat,24
28-jun-21,lion,23

到目前为止,这是我的代码:

select date, case when type='dog' then type='hyena', number
from table1;

我是 SQL 和 Oracle 的新手,因此任何关于如何完成此任务的想法或建议都会有所帮助。

【问题讨论】:

    标签: sql oracle oracle11g case


    【解决方案1】:

    那就是

    select date,
           case when type = 'dog' then 'hyena'
                else type
           end as type,
           number
    from table1
    

    但请注意,datenumber 不能用作列名,它们是为数据类型保留的。

    【讨论】:

      【解决方案2】:

      您选择的所有三个标识符 - "type""date""number" - 在 Oracle 中都是保留字,因此它们必须被引用才能用作表中的字段名称。这也意味着每次在 SQL 语句中使用它们时都必须引用它们,因此您的 SELECT 语句应该是这样的:

      SELECT "date",
             CASE "type"
               WHEN 'dog' THEN 'hyena'
               ELSE "type"
             END AS "type",
             "number"
        FROM TABLE1 
      

      db<>fiddle here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-11-29
        • 1970-01-01
        • 2014-11-09
        • 2012-04-19
        • 2022-01-15
        • 1970-01-01
        • 2016-05-29
        相关资源
        最近更新 更多