You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL Server中创建由其他列组合而成的计算列?

在SQL Server中创建计算列实现code与ID组合

SQL Server里对应的就是计算列(Computed Column),和你在Access里用到的计算类型逻辑一致,下面给你两种常见的实现方式:

1. 创建新表时直接定义计算列

如果是刚创建表,可以在表结构中直接声明计算列,示例代码如下:

CREATE TABLE YourTableName
(
    ID INT,
    Code NVARCHAR(50),
    -- 拼接Code和ID,用'-'作为分隔符,同时把INT类型的ID转为字符串
    CombinedColumn AS CONCAT(Code, '-', CAST(ID AS NVARCHAR(10))) PERSISTED
)
  • CONCAT函数会自动处理NULL值(如果Code或ID为NULL,会转为空字符串再拼接),比用+拼接更安全(用+的话只要其中一个值为NULL,结果就会是NULL)。
  • PERSISTED关键字可选:如果需要给这个计算列创建索引,或者希望计算结果直接存储在表中(而非每次查询时实时计算),就加上它;不需要的话可以直接省略。

2. 给已存在的表添加计算列

如果表已经创建好了,用ALTER TABLE语句添加计算列:

ALTER TABLE YourTableName
ADD CombinedColumn AS CONCAT(Code, '-', CAST(ID AS NVARCHAR(10))) PERSISTED

额外说明

  • 你可以自定义拼接规则:比如去掉分隔符直接拼接,或者换成其他符号,只需要修改CONCAT里的参数即可。
  • 若要处理NULL的特殊场景,比如当Code为空时显示默认值,可以用ISNULL函数优化:
    CombinedColumn AS CONCAT(ISNULL(Code, 'NO_CODE'), '-', CAST(ID AS NVARCHAR(10)))
    

内容的提问来源于stack exchange,提问作者Megan Paterson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 18:22:04