【问题标题】:Updating a column with concatenated value使用连接值更新列
【发布时间】:2010-10-23 14:43:26
【问题描述】:

我有一个 id 字段(int 类型)和varchar 字段。

我必须连接两列并将结果存储到数据类型为nvarchar 的另一列;

这可能吗?

【问题讨论】:

    标签: sql sql-server tsql sql-server-2005 sql-update


    【解决方案1】:

    是的,当然:

    UPDATE dbo.YourTable
    SET NVarcharField = CAST(id AS NVARCHAR(10)) + CAST(VarCharField AS NVARCHAR(50))
    WHERE (some condition)
    

    【讨论】:

    • 我想知道 NVarChar 和 VarChar 类型值之间是否需要显式转换/转换?
    【解决方案2】:

    您可以创建新的 NVARCHAR 列作为计算列。

    CREATE TABLE TestInsertComputedColumn  
    ( 
        ID int, 
        Name VARCHAR(50) 
    );   
    
    insert into TestInsertComputedColumn(ID,Name) 
         select 8, 'vgv'; 
    select * from TestInsertComputedColumn; 
    
    ALTER TABLE TestInsertComputedColumn  
          ADD FullName As Name + cast(id as nvarchar); 
    
    select * from TestInsertComputedColumn; 
    --drop TABLE TestInsertComputedColumn;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 2011-03-10
      • 1970-01-01
      • 2016-09-13
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多