我需要一个全局变量来存储数字(变量)的no.of十进制值....下面是场景......
我有一个存储过程,我在开始时声明所有十进制数字,如下所示
Declare @timeID as Decimal(15,**3**),
Declare @BusinessID as Decimal(15,**3**)
我需要一个存储十进制数的变量说
Declare @decimalcount as Integer, @decimalcount=3
我可以在我所做的所有声明中使用它
Declare @timeID as Decimal(15,@decimalcount)
Declare @BusinessID as Decimal(15,@decimalcount)
所以通过在一个地方更改值会改变代码中的所有值.... 这可能吗?
答案 0 :(得分:0)
查看用户定义的数据类型,通过CREATE TYPE
命令实现。我没有使用它们,因此无法给出详细的建议,但一般来说它允许您根据现有的数据类型设置“新”数据类型,然后在后续代码中可以使用该新数据类型。承租人...
CREATE TYPE phkTest from decimal(15,3)
GO
DECLARE @Foo phkTest
SET @Foo = 1
PRINT @Foo
SET @Foo = 1.1
PRINT @Foo
SET @Foo = 1.12
PRINT @Foo
SET @Foo = 1.123
PRINT @Foo
SET @Foo = 1.1234
PRINT @Foo
SET @Foo = 1.12345
PRINT @Foo
SET @Foo = 1.6789
PRINT @Foo
SET @Foo = 1.1235
PRINT @Foo
GO
DROP TYPE phkTest
是的,几乎像宣传的那样有效。您没有获得具有精度的变量,但您确实获得了一致性。 (我敢打赌,精确度可以通过一些努力从系统表中捕获。)