SQL中十进制列的占位符
我是SQL新手,所以这个问题很容易回答 我正在创建一个临时表,希望稍后在其中的空白列中填入十进制值 我是否可以在SELECT语句中用作占位符,以指示我希望十进制值填充该列 对于将用整数值填充的列,我使用以下代码:SQL中十进制列的占位符,sql,sql-server,decimal,Sql,Sql Server,Decimal,我是SQL新手,所以这个问题很容易回答 我正在创建一个临时表,希望稍后在其中的空白列中填入十进制值 我是否可以在SELECT语句中用作占位符,以指示我希望十进制值填充该列 对于将用整数值填充的列,我使用以下代码: SELECT 0 AS ColumnName 我不认为这对我想要用十进制值填充的列有效,因为我认为0表示整数值。有什么可以代替0的吗 任何帮助都将不胜感激 当SQL知道没有数据丢失风险时,它将执行某些类型的操作。在您的情况下,int可以安全地转换为十进制,因为无法损坏数据。就SQL而
SELECT 0 AS ColumnName
我不认为这对我想要用十进制值填充的列有效,因为我认为0表示整数值。有什么可以代替0的吗
任何帮助都将不胜感激 当SQL知道没有数据丢失风险时,它将执行某些类型的操作。在您的情况下,int可以安全地转换为十进制,因为无法损坏数据。就SQL而言,0是0.0
反之亦然,因为从十进制转换为int将丢失小数部分。因此,SQL不会隐式地强制转换相反的内容
您的查询保持原样。SQL在知道没有数据丢失风险时,将执行某些类型的查询。在您的情况下,int可以安全地转换为十进制,因为无法损坏数据。就SQL而言,0是0.0
反之亦然,因为从十进制转换为int将丢失小数部分。因此,SQL不会隐式地强制转换相反的内容
您的查询保持原样。在浮点字段中使用0不会导致记录被截断,因为它的精度比浮点低,所以这样做是安全的,并且意味着0.0 您还可以在表声明中将字段默认为0.0,以便在更新之前它将为0.0。但不是必需的 例如:
创建表
(col1 FLOAT(size,d)默认值为0.0)
在FLOAT字段中使用0不会导致对记录进行截断,因为它包含的精度低于FLOAT,因此这样做是安全的,并且表示为0.0
您还可以在表声明中将字段默认为0.0,以便在更新之前它将为0.0。但不是必需的
例如:创建表
(col1 FLOAT(size,d)默认值为0.0)
您使用的是什么DBMS(MySQL、Oracle等)?选择0.0作为十进制列
选择CAST(0作为十进制(18,9))作为十进制列或选择0.0作为十进制列
我使用的是Microsoft SSMS@Error\u 2646什么DBMS(MySQL、Oracle等)您是否正在使用?选择0.0作为十进制列
选择强制转换(0作为十进制(18,9))作为十进制列或选择0.0作为十进制列
我正在使用Microsoft SSMS@Error\u 2646