我是SQL新手,所以这个问题很容易回答。
我正在创建一个临时表,希望以后用十进制值填充空白列。
我可以在SELECT语句中用作占位符以指示我希望十进制值填充列吗?
对于要用整数值填充的列,我正在使用以下代码:
SELECT 0 AS ColumnName
我认为这不适用于我想用十进制值填充的列,因为我相信0表示整数值。有什么可以代替0的东西吗?
任何帮助将不胜感激!
答案 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 )