首页 文章

将excel文件导入sql server时转换数据类型时出错

提问于
浏览
0

作为SQL初学者,我试图将数据从Excel导入到sql server中的表 . 我使用sql导入向导导入数据 . 由于向导总是将我的一些数字列defaut到nvarchar并且不允许我在映射中更改它,我计划将数据导入临时表,然后使用INSERT和CAST函数将数据传输到永久目标表 . 但是,在执行插入时,我收到了“将数据类型nvarchar转换为数字时出错”的错误 . 谁能告诉我为什么以及如何解决这个问题?这是我的代码:

INSERT INTO [DatabaseA].[dbo].[mstr_Project]
  ([Project_Start_Year]
  ,[Project_Name]
  ,[Client_Name]
  ,[Client_Revenue_in_Millions]
  ,[Client_Employee_Number])
SELECT [ProjectStartYear]
  ,[ProjectName]
  ,[ClientName]
  ,CAST([ClientRevenuesInMillions] AS NUMERIC)
  ,CAST([EmployeeNo] AS NUMERIC)
FROM [dbo].[temp_ProjectImport]

太感谢了!!

1 回答

  • 0

    你可以这样做 convert(nvarchar(255), @col)

    INSERT INTO [DatabaseA].[dbo].[mstr_Project]
          ([Project_Start_Year]
          ,[Project_Name]
          ,[Client_Name]
          ,[Client_Revenue_in_Millions]
          ,[Client_Employee_Number])
        SELECT [ProjectStartYear]
          ,[ProjectName]
          ,[ClientName]
          ,CAST([ClientRevenuesInMillions] AS NUMERIC)
          ,CONVERT(NVARCHAR(255),[EmployeeNo] ) as new_converted_value
        FROM [dbo].[temp_ProjectImport]
    

相关问题