11. juli 2012 - 10:29Der er
8 kommentarer og 1 løsning
Tolkning af fejlmeddelelse
Når jeg kører koden
set @sql = ' update '+@t_samle+' set omraade = '+@omraade+' where omraade is null' exec(@sql)
får jeg følgende fejlmeddelelse:
Conversion failed when converting the nvarchar value ' update MyC.samlet_2011_2012 set omraade = ' to data type tinyint.
Tidligere i min kode har jeg declared @omraade som tinyint og sat værdien til 1, så det burde der ikke være problemer med.
Jeg har fundet en del hits ved at google fejlmeddelelsen, men det er jeg ikke blevet stort klogere af. Er der nogen, der kan forklare mig, hvad der er galt?
Nej, det er selvfølgelig ikke det, du mener. Men du pegede på løsnigen, om end jeg ikke skal caste min nvarchar som tinyint, men derimod min tinyint som char. Pointen er jo netop, at jeg ikke bare kan indsætte et tal i min streng.
Smid et svar og få pointene som tak for at pege mig i den rigtige retning.
Tjaa.. Skulle mene, at det gav mere mening at konvertere et tal til tekst end at forsøge at konvertere en tekststreng til tal. Men det er vist bare her, hvor rå regnekraft kommer til kort overfor menneskelig logik ;-)
Jeg synes nu ikke det er så underligt, string concat i TSQL kan kun laves på (n)varchar og ikke andet. Du prøver at behandle en tinyint som en varchar og derfor brokker MSSQL sig.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.