AK SQL
AK SQL

Reputation: 57

SQL CAST or Convert Function

Hi i am new to SQL and need to convert the following cast statement from varchar(255) to decimal(6,2) i tried many options but couldn't achieve it

case when [ A 2 cost] = ' £-   ' then '0' else [ A 2 cost] end as Costing

the result of [A 2 Cost] in destination is decimal(6,2) datatype but in source it is varchar(255)

Upvotes: 1

Views: 269

Answers (1)

Sufyan Jabr
Sufyan Jabr

Reputation: 809

Try this

    case when [ A 2 cost] = ' £-   ' 
then 0.0 else cast([ A 2 cost] as decimal(5,2)) end as Costing

if the other columns contains £ in the beginning you need to clean it:

    case when [ A 2 cost] = ' £-   ' 
then 0.0 else cast(REPLACE([ A 2 cost],'£','') as decimal(5,2)) end as Costing

Upvotes: 1

Related Questions