好贷网好贷款

sql 存储过程 语法 把2个定义的字符串合并成一个字符串 40wofel]

发布时间:2016-12-5 6:30:24 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"sql 存储过程 语法 把2个定义的字符串合并成一个字符串 40wofel]",主要涉及到sql 存储过程 语法 把2个定义的字符串合并成一个字符串 40wofel]方面的内容,对于sql 存储过程 语法 把2个定义的字符串合并成一个字符串 40wofel]感兴趣的同学可以参考一下。

CREATE PROCEDURE proc_inforin ( @语文1 [float],@语文2 [float],@语文3 [float], ) as BEGIN DECLARE @语文总1 [float]; declare @i [int]; set @i=1  while @i<=3 begin  if  [email protected]' & @i is not null  set @语文总1 = [email protected]' & @i   [email protected] set @[email protected]+1  end INSERT INTO [zongchenjibiao].[dbo].[zongchenjibiao]  [语文1],[语文2],[语文3],[语文总1]        VALUES( @语文1,@语文2,@语文3,@语文总1, ) END GO 连接字符是用 & 还是+ 还是什么   还是不可以这么做。。。等等    会提示的错误   @语文 转化为int 失败;;;@i转化为float失败等等

你float连接什么字符串?折腾

CREATE PROCEDURE proc_inforin ( @语文1 [float],@语文2 [float],@语文3 [float] ) as BEGIN DECLARE @语文总1 varchar(8000) declare @i [int] set @i=1   while @i<=3 if [email protected]' & @i is not null begin   set @语文总1 = [email protected]' & ltrim(@i) [email protected] set @[email protected]+1   end end

sql  &能用的?引用 2 楼 fredrickhu 的回复:SQL code CREATE PROCEDURE proc_inforin ( @语文1 [float],@语文2 [float],@语文3 [float] ) as BEGIN DECLARE @语文总1 varchar(8000) declare @i [int] set @i=1   while @i<=3 if [email protected]' &amp; @i is not null ……

要字符型才可以连接啊,float类型连接不是相加了吗? 如果要考虑连接,需要转换 convert(varchar(20),[email protected]') cast([email protected]' as varchar(20)) select 12.0+8.0 select convert(varchar(20),12.0)+convert(varchar(20),8.0)

引用 3 楼 geniuswjt 的回复:sql &amp;能用的? 引用 2 楼 fredrickhu 的回复: SQL code CREATE PROCEDURE proc_inforin ( @语文1 [float],@语文2 [float],@语文3 [float] ) as BEGIN DECLARE @语文总1 varchar(8000) declare @i [int] set @i=1 whil…… &是或运算符 可以用 但是在这里会报错

--这里应该是 CREATE PROCEDURE proc_inforin ( @语文1 [float],@语文2 [float],@语文3 [float] ) as BEGIN DECLARE @语文总1 varchar(8000) declare @i [int] set @i=1   while @i<=3 if [email protected]'  is not null or @i is null begin   set @语文总1 = [email protected]' & ltrim(@i) [email protected] set @[email protected]+1   end end

select 11111&99999 /*----------- 519 (1 行受影响)*/ --按位或

CREATE PROCEDURE proc_inforin ( [@语文1] float=0.0, [@语文2] float=0.0, [@语文3] float=0.0 ) as BEGIN DECLARE [@语文总1] float set @语文总1 = @语文1 [email protected][email protected] end

引用 8 楼 lxpbs8851 的回复:SQL code CREATE PROCEDURE proc_inforin ( [@语文1] float=0.0, [@语文2] float=0.0, [@语文3] float=0.0 ) as BEGIN DECLARE [@语文总1] float set @语文总1 = @语文1 [email protected][email protected] end @语文1,@语文2,@语文3    或许为null

CREATE PROCEDURE proc_inforin ( [@语文1] float, [@语文2] float, [@语文3] float ) as BEGIN DECLARE [@语文总1] float set @语文总1 = isnull([@语文]1,0.0)+isnull([@语文2],0.0)+isnull([@语文3],0.0) ....

引用 7 楼 fredrickhu 的回复:SQL code select 11111&amp;99999 /*----------- 519 (1 行受影响)*/ --按位或 DECLARE @语文总1 varchar(8000) DECLARE @语文1 varchar(8000) declare @i [int] set @i=1   set @语文1=100 begin   set @语文总1 = [email protected]' + ltrim(@i)   end select @语文1,@语文总1 显示 结果为  100 @语文1 DECLARE @语文总1 varchar(8000) DECLARE @语文1 varchar(8000) declare @i [int] set @i=1   set @语文1=100 begin   set @语文总1 = [email protected]' & ltrim(@i)   end select @语文1,@语文总1 显示结果为 :消息 402,级别 16,状态 1,第 7 行 数据类型 varchar 和 varchar 在 boolean AND 运算符中不兼容。 我需要的是 @语文总1  的结果为 100

明天结贴。。

DECLARE @语文总1 varchar(8000) DECLARE @语文1 varchar(8000) declare @i [int] set @i=1   set @语文1=100 begin   set @语文总1 = case when @i=1 then @语文 else '' end  end select @语文1,@语文总1

晕死了 就是一个计算列 非要用存储过程的话在8楼  我还以为真的是需要字符串拼接

上一篇:小妹求救::sql server 2008 資料庫維護計畫 40shen0814]
下一篇:sql sever 2008怎么附加不上数据库呢? 40分,无满意结帖,结帖人z7152008]

相关文章

相关评论