select 返回 整型

来源:百度知道 编辑:UC知道 时间:2024/05/28 18:49:22
假设我的表中有一个int型字段column1,
我用查询
select colume1 from table1 where id=1
应该得到且仅得到一条记录的一个字段,假设字段里的值为4
而我在存储过程里要把这个查询得到的字段当作整型变量来处理,那么请问怎么才能使select得到的结果成为int型。
也可以说,假设我有一个存储过程Proc1,需要一个int型的参数@param1,
于是我用
exec Proc1 (select column1 from table1 where id=1)
但这是不对的,我想知道对的应该怎么写。
我很急,在线等,加分。
有机会我一定要学学Oracle,这是俺多年来的梦,但是我现在用的是MSSQL,很愁人是吧?我也挺上火。

select colume1*1 from table1 where id=1
不过如果colume1 里面的值包含数字以外的字符会报错

既然你定义的存储过程需要int参数,那么参数就应该由程序传进去,要么就在存储过程中查询出来,否则就只能写另一个存储过程来查结果再调用Proc1了

可以定义输入,输出参数 例:

create proc PrTest
@var1 as int
@var2 as int output
as
begin
set @var2=1000
return 0
end

declare @YourVar1,@YourVar2 int
set @YourVar1=1
set @YourVar2=1
exec PrTest @YourVar1,@YourVar2

select @YourVar2
输出为1000

假设我有一个存储过程Proc1,需要一个int型的参数@param1,
于是我用
exec Proc1 (select column1 from table1 where id=1)
但这是不对的,我想知道对的应该怎么写。
我很急,在线等,加分。

简单了:
exec Proc1 (to_int(select column1 from table1 where id=1))

这是Oracle里的写法,楼上的用参数的形式也可以,只是没这麼麻烦吧!