简体   繁体   English

在SQL Server存储过程中将varchar转换为数值

[英]Convert varchar into numeric in SQL Server stored procedure

I'm writing a stored procedure for INSERT and I want to convert a varchar column into numeric so when I'm writing this code 我正在为INSERT编写存储过程,并且想将varchar列转换为数值,因此在编写此代码时

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

then it throws this error 然后抛出这个错误

Incorrect syntax near the keyword 'CONVERT'. 关键字“ CONVERT”附近的语法不正确。

Here is my query 这是我的查询

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

and this is exact error 这是确切的错误

Msg 102, Level 15, State 1, Procedure ImportEquipmentFile_UDT, Line 27 消息102,级别15,状态1,过程ImportEquipmentFile_UDT,第27行
Incorrect syntax near 'Outcost'. 'Outcost'附近的语法不正确。

The column list in the insert contains only column names. insert中的列列表仅包含列名。 The value goes in the select : 该值在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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM