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

Sql 使用RIGHT从列中获取数据并更新以将结果添加到新列,sql,sybase,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 ) 然后我得到了错误,但我需要把最后三个字符放到新的列中 需

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

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 )
然后我得到了错误,但我需要把最后三个字符放到新的列中


需要这方面的帮助。

您的语法看起来像SQL Server。正确的查询很可能是:

update a
    set veerg2 = RIGHT(RTRIM(nimi), 3)  
    from #temp_table a 
    where a.nimi is not NULL ;
这两项改变是:

  • update
    中使用
    from
    子句中定义的表别名,而不是表名
  • 将从
    集合中删除
    选择
    。这是不必要的
您也可以在不使用中的
的情况下编写此文件:

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

请用您正在使用的数据库标记您的问题。