Sql 如何从表中选择数据(具有一种十进制类型)并插入到另一个表中(具有不同的十进制类型)
我想从表A中选择数据并将数据插入表B。尽管我知道如何实现这一点。我使用了:Sql 如何从表中选择数据(具有一种十进制类型)并插入到另一个表中(具有不同的十进制类型),sql,sql-server,casting,typecasting-operator,Sql,Sql Server,Casting,Typecasting Operator,我想从表A中选择数据并将数据插入表B。尽管我知道如何实现这一点。我使用了: INSERT INTO TableA(column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM TableB WHERE condition; 但挑战在于数据类型。目标表A有一列,其数据类型定义如下 column1(decimal(16,3),null) column1(decimal(15,4),null) 而表B中有一列
INSERT INTO TableA(column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM TableB
WHERE condition;
但挑战在于数据类型。目标表A有一列,其数据类型定义如下
column1(decimal(16,3),null)
column1(decimal(15,4),null)
而表B中有一列的数据类型定义如下
column1(decimal(16,3),null)
column1(decimal(15,4),null)
请帮帮我 应该没问题。SQL Server将自动转换这些值。如果B中有一个非常大的值不适合a,那么可能会得到一个错误 要解决此问题,请使用
try\u convert()
:
这将避免类型转换错误。非常感谢您提供此解决方案。你能再检查一下我的问题吗。我已对数据类型进行了更新。@ArpitaDutta。这实际上并没有改变答案的要点,即使用
try\u convert()
显式转换为正确的类型。我很困惑。我会调用A
目标表,而不是B
。