简体   繁体   中英

SQL converting float to varchar

I've 2 columns which I want to use a condition on. But I get this error message and my query is correct I'll come to that soon.

Msg 8114, Level 16, State 5, Line 1
Error converting data type varchar to float.

So this is the problem, I have a temp-table in which ID-number looks like this 9001011234 we can call it A, in the other one that I want to check with it looks like this 900101-1234 and this one for B this is the swedish format for Id-numbers.

So in my condition I want to check this to get the right amount and the correct result.

where A = B

The rest of the query is fine, when I remove this condition it gives me a result. It's just this one bit that is incorrect.

You have a VARCHAR format that can't be trivially transformed to a number. I'd use REPLACE(b,'-','') = a to fix the format, and let SQL Server take care of the rest.

说:

where A = CAST(REPLACE(B, '-', '') AS float)

You are trying to compare values that are not the same datatype. eg Where 'one' = 1

You will need to convert one of the values to the same datatype as the other.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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