如何在MSSQL中合并三列值生成Chickens表的cell_code字段?
在MS SQL Server中生成Chickens表的cell_code字段值
针对Chickens表,我们可以通过SQL字符串拼接操作生成符合要求的cell_code,以下是两种常见格式的实现方式:
带分隔符(如“-”)的格式
使用CONCAT函数自动将整数类型字段转为字符串并拼接,语句如下:
UPDATE Chickens SET cell_code = CONCAT(workshop_number, '-', row_number, '-', cell_number);
如果需要显式转换数据类型(避免隐式转换可能的问题),也可以用CAST函数:
UPDATE Chickens SET cell_code = CAST(workshop_number AS VARCHAR(10)) + '-' + CAST(row_number AS VARCHAR(10)) + '-' + CAST(cell_number AS VARCHAR(10));
无分隔符的格式
直接用CONCAT拼接字段值:
UPDATE Chickens SET cell_code = CONCAT(workshop_number, row_number, cell_number);
或者显式转换后拼接:
UPDATE Chickens SET cell_code = CAST(workshop_number AS VARCHAR(10)) + CAST(row_number AS VARCHAR(10)) + CAST(cell_number AS VARCHAR(10));
确保cell_code的唯一性
由于cell_code是唯一标识,更新完成后可以添加唯一约束来保证其唯一性:
ALTER TABLE Chickens ADD CONSTRAINT UQ_Chickens_CellCode UNIQUE (cell_code);
内容的提问来源于stack exchange,提问作者OctoBotto
相关产品推荐
相关产品推荐

