2017-07-31 280 views
0

我正在写一个存储过程INSERT,我想一个varchar列转换成数字,所以当我在写这段代码转换成VARCHAR在数字SQL Server存储过程

CONVERT(NUMERIC(18,2), CAST([Outcost] AS FLOAT)) 

然后抛出这个错误

关键字'CONVERT'附近的语法不正确。

这里是我的查询

INSERT INTO dbo.UdtEquipmentsStaging 
     ([Type], [ModelID], [AccessoryID], [Make], [Model], [Category], 
     [CategoryDescription], [Grouping], [Item], [RequiredModel], [SKU], [ProductNum], 
     [Speed], [Description], [Cost], [Cost2], [Cost3], [Cost4], [Cost5], 
     CONVERT(NUMERIC(18,2), CAST([Outcost] AS FLOAT)), [MSRP], 
     [Discontinued], [PercentMSRP], [ServiceType], [ServiceTypeColor], 
     [ConnectivityFee], [ConnectFee], [InstallFee], [Notes], [ManufactureNotes] 
     , [Special1], [Special2], [Special3], [Special4], [Special5], [Special6], [Special7], [Special8], [Special9], [Special10], [Special11], [Special12], [Special13] 
     , [Special14], [Special15], [Special16], [Special17], [Special18], [Special19], [Special20], [Special21], [Special22], [Special23], [Special24], [Special25] 
     , [Special26], [Special27], [Special28], [Special29], [Special30], [Special31], [Special32], [Special33], [Special34], [Special35], [Special36], [Special37] 
     , [Special38], [Special39], [Special40]) 
    SELECT 
     [Type], [ModelID], [AccessoryID], [Make], [Model], [Category], 
     [CategoryDescription], [Grouping], [Item], [RequiredModel], [SKU], [ProductNum], 
     [Speed], [Description], [Cost], [Cost2], [Cost3], [Cost4], [Cost5], 
     [Outcost], [MSRP], [Discontinued], [PercentMSRP], [ServiceType], [ServiceTypeColor], 
     [ConnectivityFee], [ConnectFee], [InstallFee], [Notes], [ManufactureNotes], 
     [Special1], [Special2], [Special3], [Special4], [Special5], [Special6], [Special7], [Special8], [Special9], [Special10], [Special11], [Special12], [Special13] 
     , [Special14], [Special15], [Special16], [Special17], [Special18], [Special19], [Special20], [Special21], [Special22], [Special23], [Special24], [Special25] 
     , [Special26], [Special27], [Special28], [Special29], [Special30], [Special31], [Special32], [Special33], [Special34], [Special35], [Special36], [Special37] 
     , [Special38], [Special39], [Special40] 
    FROM 
     @Equipments 

,这是确切的错误

消息102,级别15,状态1,过程ImportEquipmentFile_UDT,第27行
附近有语法错误Outcost“ 。

+0

您正在使用哪个数据库平台? –

+3

你应该在'SELECT'中使用'CONVERT'而不是列表列。 – Rokuto

+0

@DavidLindon SQL服务器 – Abhay

回答

5

insert中的列表仅包含列名。值在select

INSERT INTO dbo.UdtEquipmentsStaging 
     ([Type], [ModelID], [AccessoryID], [Make], [Model], [Category], [CategoryDescription], [Grouping], [Item], [RequiredModel], [SKU], [ProductNum] 
     , [Speed], [Description], [Cost], [Cost2], [Cost3], [Cost4], [Cost5], [Outcost], [MSRP], [Discontinued], [PercentMSRP], [ServiceType], [ServiceTypeColor] 
     , [ConnectivityFee], [ConnectFee], [InstallFee], [Notes], [ManufactureNotes] 
     , [Special1], [Special2], [Special3], [Special4], [Special5], [Special6], [Special7], [Special8], [Special9], [Special10], [Special11], [Special12], [Special13] 
     , [Special14], [Special15], [Special16], [Special17], [Special18], [Special19], [Special20], [Special21], [Special22], [Special23], [Special24], [Special25] 
     , [Special26], [Special27], [Special28], [Special29], [Special30], [Special31], [Special32], [Special33], [Special34], [Special35], [Special36], [Special37] 
     , [Special38], [Special39], [Special40]) 
SELECT [Type], [ModelID], [AccessoryID], [Make], [Model], [Category], [CategoryDescription], [Grouping], [Item], [RequiredModel], [SKU], [ProductNum] 
     , [Speed], [Description], [Cost], [Cost2], [Cost3], [Cost4], [Cost5], CONVERT(NUMERIC(18,2), CAST([Outcost] AS FLOAT)), [MSRP], [Discontinued], [PercentMSRP], [ServiceType], [ServiceTypeColor] 
     , [ConnectivityFee], [ConnectFee], [InstallFee], [Notes], [ManufactureNotes] 
     , [Special1], [Special2], [Special3], [Special4], [Special5], [Special6], [Special7], [Special8], [Special9], [Special10], [Special11], [Special12], [Special13] 
     , [Special14], [Special15], [Special16], [Special17], [Special18], [Special19], [Special20], [Special21], [Special22], [Special23], [Special24], [Special25] 
     , [Special26], [Special27], [Special28], [Special29], [Special30], [Special31], [Special32], [Special33], [Special34], [Special35], [Special36], [Special37] 
     , [Special38], [Special39], [Special40] 
FROM @Equipments