2011-02-15 72 views
5

我从Excel中将一些原始数据插入到MS SQL 2005的表中。 其中一些数据格式不正确,即数量colum格式化为数字12345,而我需要像123.45,所以我使用这个 CAST(TRANSACTION_HISTORY.AMOUNT AS decimal)/100 正确地转换它。 但是有没有办法在insert语句中使用cast?在插入语句中使用转换

感谢

回答

5

您可以使用CAST在任何一种说法(插入,更新,删除,选择),您使用的数据。

Insert into table1 values(CAST(col1 as nvarchar(50))) 
0

我假设您使用链接服务器或openquery从excel中获取数据。您可以在选择语句中投射。

所以

INSERT INTO YourTable 
SELECT Cast(Transaction_History.Amount AS Decimal)/100 
FROM EXCELLINK...[$Sheet1] 

你做的进口后,您也只需更新表中的所有值

UPDATE YourTable 
SET YourColumn = YourColumn/100