使用RIGHT从列获取数据并更新以将结果添加到新列

时间:2016-02-25 12:26:12

标签: sql sybase

我很难做到这一点。 我通过此查询获取数据

Select RIGHT(RTRIM(Nimi), 3) Riik from TABLE

但是当我在更新中使用它时,它有多个结果要插入。

所以当我像这样使用它时:

update #temp_table 
set veerg2 = (Select RIGHT(RTRIM(nimi), 3) nimi2 
from #temp_table a 
where a.nimi is not NULL )

然后我得到了错误,但我需要将这三个最后的字符放到新列中。

需要帮助。

1 个答案:

答案 0 :(得分:0)

您的语法类似于SQL Server。最有可能是正确的查询:

update a
    set veerg2 = RIGHT(RTRIM(nimi), 3)  
    from #temp_table a 
    where a.nimi is not NULL ;

这两个变化是:

  • from子句中定义的表别名用于update而不是表名。
  • select已移除set。没必要。

您也可以在没有from

的情况下编写此内容
update #temp_table
    set veerg2 = RIGHT(RTRIM(nimi), 3)  
    where nimi is not NULL ;