我有这个结构的表
ID | Parameter1 | Parameter 2 | Multiplication
1 | 1024 | 100 |
2 | 1200 | 200 |
3 | 1600 | 300 |
4 | 1900 | 400 |
我想用参数1和参数2
中的组合字符串填充列乘法ID | Parameter1 | Parameter 2 | Multiplication
1 | 1024 | 100 | 1024_100
2 | 1200 | 200 | 1200_200
3 | 1600 | 300 | 1600_300
4 | 1900 | 400 | 1900_400
请帮我创建这个SQLQuery
答案 0 :(得分:4)
使用SQL然后以下查询应该有效..
假设Param字段是int,请使用强制转换来使它们成为字符串
UPDATE Table1 SET Multiplication = CAST(Parameter1 AS VARCHAR(10)) + '_' + CAST(Parameter2 AS VARCHAR(10))
否则,如果它们已经是字符串(例如,varchar,text),则不要强制转换。即,
UPDATE Table1 SET Multiplication = Parameter1 + '_' + Parameter2
只需将Table1更改为您的表名称
即可答案 1 :(得分:4)
SQL Server的替代方法是添加一列来为您处理此问题。如果参数1或参数2发生变化,它将自动更新值:
ALTER TABLE myTable
ADD myJoinedColumn AS CAST(Parameter1 AS VARCHAR(10)) + '_' + CAST(Parameter2 AS VARCHAR(10))
或者@Scozzard在他的回答中提到,如果他们已经是字符串了:
ALTER TABLE myTable
ADD myJoinedColumn AS (Parameter1 + '_' + Parameter2)
答案 2 :(得分:2)
对于MySQL:
update Table1 set
Multiplication = concat(cast(Parameter1 as char), '_', cast(Parameter2 as char))
答案 3 :(得分:2)
update Table1 set Multiplication = CONCAT_WS('_',Parameter1,Parameter2)
答案 4 :(得分:1)
update tablename
set Multiplication = convert(varchar, Parameter1) + '_' + convert(varchar, Parameter2)