在TSQL CREATE PROC中不能使用double?

dai*_*isy 0 t-sql sql-server sql-server-2008

我有一个语法错误double,有什么问题吗?切换到可以安全float吗,但有效吗?

create proc S_average
(
    @dept_id char(10),
    @dept_name char(10) OUTPUT,
    @dept_avg double OUTPUT
)
AS
select @dept_name = name , @dept_avg = payroll
from dbo.employees
where id = @dept_id;
Run Code Online (Sandbox Code Playgroud)

谢谢 !

小智 5

doubleSQL Server中没有数据类型.您应该使用float它代替(或real在早期版本中,但您没有发布SQL Server版本).

floatdouble如果你想将值传递给应用程序,那么它与C#中的精度并不完全相同(再次,我假设它是一种.NET语言,因为它没有发布).但是float最接近C#double并且几乎肯定会满足您的要求.