【问题标题】:Update column if the last word string matches the letter ending with "I" "R" "N"如果最后一个单词字符串与以“I”“R”“N”结尾的字母匹配,则更新列
【发布时间】:2019-09-18 11:19:06
【问题描述】:
UPDATE Tbls.Host SET 
HostActvTyp = CASE, HostPrevTyp = CASE WHEN LENGTH(RTRIM(LTRIM(HostCd)))=3 
                                 then 'CORE' 
                                 ELSE END,
HostActvTyp = CASE, HostPrevTyp = CASE WHEN SUBSTR(RTRIM(LTRIM(HSTHC)),4)='P' 
                                  then'PROSPECTING'
                                   ELSE END,
HostActvTyp = CASE, HostPrevTyp = CASE WHEN SUBSTR(RTRIM(LTRIM(HSTHC)),4)='I' 
                                 then'INDEPENDENT' 
                                 ELSE END,
HostActvTyp = CASE, HostPrevTyp = CASE WHEN SUBSTR(RTRIM(LTRIM(HSTHC)),4)='R' 
                                 then 'REACTIVE' 
                                 ELSE END,
HostActvTyp = CASE, HostPrevTyp = CASE WHEN SUBSTR(RTRIM(LTRIM(HSTHC)),4)='N' 
                                 then 'NEW' 
                                 ELSE END;

【问题讨论】:

  • 我在这里遗漏了什么以及我需要进行哪些更改才能运行此查询??
  • 如果您需要更清楚地了解这个问题,请查看此链接:stackoverflow.com/questions/55907953/…
  • @DaleBurrell sql server---其实是teradata sql 助手
  • sql server 和 teradata sql assistant 是两个完全不同的东西

标签: teradata teradata-sql-assistant


【解决方案1】:

这似乎就是你要找的东西。

UPDATE Tbls.Host set 
    HostPrevTyp = CASE WHEN LENGTH(TRIM(HostCd))=3 then 'CORE' 
                       WHEN SUBSTR(TRIM(HSTHC),4)='P' then'PROSPECTING' 
                       WHEN SUBSTR(TRIM(HSTHC),4)='I' then'INDEPENDENT' 
                       WHEN SUBSTR(TRIM(HSTHC),4)='R' then 'REACTIVE' 
                       WHEN SUBSTR(TRIM(HSTHC),4)='N' then 'NEW' 
                       ELSE 'UNKONWN' END
/*WHERE Clause maybe?*/
;

【讨论】:

  • 如果没有一个满足上述条件,那么它应该是“未知”
  • 作为单个语句执行。失败 [3706 : 42000] 语法错误:数据类型“RTRIM”与定义的类型名称不匹配。经过的时间 = 00:00:00.202 语句 1:更新语句失败。
猜你喜欢
  • 2019-09-18
  • 1970-01-01
  • 2011-02-01
  • 2018-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-19
  • 2022-12-10
相关资源
最近更新 更多