Sql server 非常简单的列添加
我的印象是SQL Server将允许我执行添加,例如Sql server 非常简单的列添加,sql-server,tsql,sql-server-2008,Sql Server,Tsql,Sql Server 2008,我的印象是SQL Server将允许我执行添加,例如 SELECT val01, val02, val03 = (val01 + val02) FROM Table_1 所以val03是前面两列的相加。然而,在这个例子中,我确实看到了值2旁边的值1。你能告诉我哪里出了问题吗?那么val03是结果列表中val01和val02的串联?比如: VAL01 VAL02 VAL03 1 2 1 2 4 5 4 5 在这种情况下,V
SELECT val01, val02, val03 = (val01 + val02)
FROM Table_1
所以val03是前面两列的相加。然而,在这个例子中,我确实看到了值2旁边的值1。你能告诉我哪里出了问题吗?那么val03是结果列表中val01和val02的串联?比如:
VAL01 VAL02 VAL03
1 2 1 2
4 5 4 5
在这种情况下,Val01或Val02都是非数字列,或者两者都是。投下他们:
SELECT val01, val02, val03 = (cast(val01 as float) + cast(val02 as float)) FROM Table_1
或者,修复列类型。那么val03是结果列表中val01和val02的串联?比如:
VAL01 VAL02 VAL03
1 2 1 2
4 5 4 5
在这种情况下,Val01或Val02都是非数字列,或者两者都是。投下他们:
SELECT val01, val02, val03 = (cast(val01 as float) + cast(val02 as float)) FROM Table_1
或者,修复列类型。操作符在SQL Server中有两种用途:
- 对于数字(
,int
,bigint
等),它是一个加法运算符decimal
- 对于字符串(
,varchar
,nvarchar
等),它是一个串联操作符char
- 使用正确的数据类型。如果是数字,则数据类型应为数字
- 转换为正确的数据类型-即
val03=(转换(val01为int)+转换(val02为int))
- 对于数字(
,int
,bigint
等),它是一个加法运算符decimal
- 对于字符串(
,varchar
,nvarchar
等),它是一个串联操作符char
- 使用正确的数据类型。如果是数字,则数据类型应为数字
- 转换为正确的数据类型-即
val03=(转换(val01为int)+转换(val02为int))
其中CAST(val03 as INT)=((CAST val01 as INT)+(CAST val02 as INT))如果val01和val02列是字符或varchar,但包含数字,则这些数字将按上述语法连接 如果希望它们显示为数字,则需要对val01或val02字段使用CAST或CONVERT将它们添加为数值 例如: 从表1中选择val01、val02、val03
其中CAST(val03作为INT)=(CAST val01作为INT)+(CAST val02作为INT))wVAL01和val02的数据类型是什么?我猜是char还是类似的?val01和val02是什么数据类型?太棒了!,错误的数据类型。顺便说一句,谢谢你,如果你仍然被允许做一些事情,比如
val03=(val01+val02)
,我不确定到底是什么给你留下了深刻的印象,但是如果是val03=…
位,那么请注意这只是SQL Server中的一种别名替代方法。它与val03的(val01+val02)完全相同。val01和val02的数据类型是什么?我猜是char还是类似的?val01和val02是什么数据类型?太棒了!,错误的数据类型。顺便说一句,谢谢你,如果你仍然被允许做一些事情,比如val03=(val01+val02)
,我不确定到底是什么给你留下了深刻的印象,但是如果是val03=…
位,那么请注意这只是SQL Server中的一种别名替代方法。它与val03
(val01+val02)完全相同。