Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何从表中选择数据(具有一种十进制类型)并插入到另一个表中(具有不同的十进制类型)_Sql_Sql Server_Casting_Typecasting Operator - Fatal编程技术网

Sql 如何从表中选择数据(具有一种十进制类型)并插入到另一个表中(具有不同的十进制类型)

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中有一列

我想从表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中有一列的数据类型定义如下

column1(decimal(16,3),null)
column1(decimal(15,4),null)

请帮帮我

应该没问题。SQL Server将自动转换这些值。如果B中有一个非常大的值不适合a,那么可能会得到一个错误

要解决此问题,请使用
try\u convert()


这将避免类型转换错误。

非常感谢您提供此解决方案。你能再检查一下我的问题吗。我已对数据类型进行了更新。@ArpitaDutta。这实际上并没有改变答案的要点,即使用
try\u convert()
显式转换为正确的类型。我很困惑。我会调用
A
目标表,而不是
B