Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 server 2005 在Sql server 2005中将记录从一个表插入到另一个表时需要帮助_Sql Server 2005_Insertion - Fatal编程技术网

Sql server 2005 在Sql server 2005中将记录从一个表插入到另一个表时需要帮助

Sql server 2005 在Sql server 2005中将记录从一个表插入到另一个表时需要帮助,sql-server-2005,insertion,Sql Server 2005,Insertion,我有两张桌子。一个是临时表,另一个是主表。 在temp表中,我有一个名为“Contract Number”的列,它是“float”数据类型。 在主表中,我有一个相同的列“合同号”,但数据类型为“varchar(50)” 在临时表中,合同编号列有一个值“40494318”。 当我插入主表时,值变为“4.04943e+007” 我使用了这个查询 INSERT INTO Temp_Contract (Contract_Num) Select Contract_Num From Main_Contr

我有两张桌子。一个是临时表,另一个是主表。 在temp表中,我有一个名为“Contract Number”的列,它是“float”数据类型。 在主表中,我有一个相同的列“合同号”,但数据类型为“varchar(50)”

在临时表中,合同编号列有一个值“40494318”。 当我插入主表时,值变为“4.04943e+007

我使用了这个查询

INSERT INTO Temp_Contract (Contract_Num)  
Select Contract_Num From Main_Contract

请帮助我如何正确插入值。

您需要将其转换为varchar

INSERT INTO Temp_Contract (Contract_Num)
    Select cast(cast(cast(Contract_Num as float) as int) as nvarchar(50))
     From  Main_Contract

如果您确定Contract_Num始终是一个整数:

INSERT INTO Temp_Contract
    (Contract_Num)
    SELECT CAST(Contract_Num AS INT)
        FROM Main_Contract

此显式转换与已完成的隐式转换相同。您仍然会得到相同的
4.04943e+007
结果。无需尝试。你的基本上和我的一样。