SQL中小数列的占位符

时间:2018-09-06 17:51:49

标签: sql sql-server decimal

我是SQL新手,所以这个问题很容易回答。

我正在创建一个临时表,希望以后用十进制值填充空白列。

我可以在SELECT语句中用作占位符以指示我希望十进制值填充列吗?

对于要用整数值填充的列,我正在使用以下代码:

SELECT 0 AS ColumnName

我认为这不适用于我想用十进制值填充的列,因为我相信0表示整数值。有什么可以代替0的东西吗?

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

如果

SQL知道没有数据丢失的风险,它将执行某些类型的implicit conversion。就您而言,int可以安全地转换为十进制,因为无法破坏您的数据。就SQL而言,0等于0.0。

反之亦然,因为从十进制转换为int会丢失小数部分。因此,SQL不会隐式地相反。

您的查询依旧很好。

答案 1 :(得分:0)

在浮点字段中使用0不会导致记录被截断,因为它的精度比浮点精度低,因此这样做是安全的,并且暗示为0.0

您还可以在表声明中将字段默认为0.0,以便在更新之前一直为0.0。但不是必需的。

例如:CREATE TABLE table ( col1 FLOAT(size,d) DEFAULT 0.0 )