if else语句问题

cy527300280 2008-11-21 08:02:40
create function sum1 (@num1 int,@num2 int)
returns int
as
begin
declare @sum int
select @sum=@num1+@num2
if(@sum>10)
select '结果大于10'
else
select @sum
return @sum
end

结果报错:
服务器: 消息 444,级别 16,状态 2,过程 sum1,行 8
函数中含有的 SELECT 语句无法向客户端返回数据。
服务器: 消息 444,级别 16,状态 1,过程 sum1,行 10
函数中含有的 SELECT 语句无法向客户端返回数据。


请问是什么原因 select 不是赋值的意思吗?
...全文
118 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cy527300280 2008-11-21
  • 打赏
  • 举报
回复
谢谢,问题解决了
水族杰纶 2008-11-21
  • 打赏
  • 举报
回复
if object_id('dbo.sum1')is not null drop function dbo.sum1
go
create function sum1 (@num1 int,@num2 int)
returns nvarchar(10)
as
begin
declare @sum int
declare @s nvarchar(20)
select @sum=@num1+@num2
if @sum>10
set @s=N'结果大于10'
else
set @s=@sum
return @s
end
go
select dbo.sum1(10,15)
/*
----------
结果大于10
*/
水族杰纶 2008-11-21
  • 打赏
  • 举报
回复
if object_id('dbo.sum1')is not null drop function dbo.sum1
go
create function sum1 (@num1 int,@num2 int)
returns varchar(10)
as
begin
declare @sum int
declare @s nvarchar(20)
select @sum=@num1+@num2
if @sum>10
set @s=N'结果大于10'
else
set @s=@sum
return @s
end
go
select dbo.sum1(10,15)
hyde100 2008-11-21
  • 打赏
  • 举报
回复
搞不懂输出结果是什么意思,总之字符串是不能输出的,因为你的返回类型为int
create function sum1 (@num1 int,@num2 int)
returns int
as
begin
declare @sum int
set @sum=@num1+@num2

if(@sum<=10)
begin
return @sum
end

return 0
end
cy527300280 2008-11-21
  • 打赏
  • 举报
回复
不行,报错呀:
服务器: 消息 455,级别 16,状态 2,过程 sum1,行 65535
函数中最后一条语句必须是返回语句。

我是想判断它的结果,如果结果大于10,那么输出 结果大于10,如果小于10,那么就输出结果
csdyyr 2008-11-21
  • 打赏
  • 举报
回复
用set给变量赋值
hyde100 2008-11-21
  • 打赏
  • 举报
回复
你的意思可以简写成这样
create function sum1 (@num1 int,@num2 int)
returns int
as
begin
declare @sum int
set @sum=@num1+@num2

if(@sum<=10)
return @sum
end
hyde100 2008-11-21
  • 打赏
  • 举报
回复
create function sum1 (@num1 int,@num2 int)
returns int
as
begin
declare @sum int
select @sum=@num1+@num2
if(@sum>10)
select '结果大于10'--应该返回int,而这里却是字符串
else
select @sum
return @sum
end

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧