相关疑难解决方法(0)

SQL Server中的DECIMAL和NUMERIC有什么区别吗?

SQL Server中的DECIMAL和NUMERIC数据类型有什么区别吗?

什么时候应该使用DECIMAL和NUMERIC?

sql-server sqldatatypes

122
推荐指数
3
解决办法
12万
查看次数

为十进制类型的Null抛出错误分配值

使用SQL Server 2016

我目前正在支持一个旧的导入例程,该例程包装了许多动态列,ISNULL以整理丢失的数据。

该代码在动态SQL中生成,并提供以下格式的字符串:

ISNULL(ColumnName, '') ColumnName
Run Code Online (Sandbox Code Playgroud)

我刚遇到一个实例,它已经落在了上面,即在十进制或数字列上。但是,这对于整数,浮点数,实数甚至日期都可以正常工作。我可以引入更多代码来替换''0但我不明白为什么它适用于浮点数和实数,但不适用于小数或数字。

例如看一下:

DECLARE @Test1 AS TABLE (Val FLOAT NULL);           
DECLARE @Test2 AS TABLE (Val INT NULL);             
DECLARE @Test3 AS TABLE (Val REAL NULL);    
DECLARE @Test4 AS TABLE (Val Date NULL);    

DECLARE @TestWillFail AS TABLE (Val DECIMAL(19,6) NULL);   

INSERT INTO @Test1 VALUES (NULL)
INSERT INTO @Test2 VALUES (NULL)
INSERT INTO @Test3 VALUES (NULL)
INSERT INTO @Test4 VALUES (NULL) 
INSERT INTO @TestWillFail VALUES (NULL) 

SELECT ISNULL(Val, '') VAL …
Run Code Online (Sandbox Code Playgroud)

sql-server null decimal isnull

6
推荐指数
1
解决办法
59
查看次数

在SQL Server 2008R2中使用CAST函数划分2个数字

我有两个数字我要划分:5262167/162333331当使用Windows计算器(calc.exe)验证时,结果是0.0324158136076195但是当在SQL Server 2008R2中使用简单选择CAST函数时,我没有相同的结果.这是我在SQL编辑器中运行的内容:

select CAST((5262167 / 162333331) as decimal(18,8))
Run Code Online (Sandbox Code Playgroud)

结果是0.00000000

sql sql-server division

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

sql-server ×3

decimal ×1

division ×1

isnull ×1

null ×1

sql ×1

sqldatatypes ×1