Witam,
Jak przekonwertować liczbę, np 3,4 tak by można było ją zapisać do bazy MSSQL?
Próbowałem np. convert(real, '3,4')
Ale ciągle mam błąd:
Error converting data type varchar to real.
Pozdrawiam,
Witam,
Jak przekonwertować liczbę, np 3,4 tak by można było ją zapisać do bazy MSSQL?
Próbowałem np. convert(real, '3,4')
Ale ciągle mam błąd:
Error converting data type varchar to real.
Pozdrawiam,
https://stackoverflow.com/questions/11089125/varchar-to-decimal
U mnie zadziałało:
SELECT convert(real, '3.4');
Moim zdaniem:
1 Na kliencie (z jakiego języka używasz SQLa ?) Prawdopodobnie i tak musisz się zagadnieniem zająć w projekcie
2 przez parametr, a nie przez sklejanie stringów. A że parametr ma określony typ float, jak w wojsku - patrz punkt pierwszy
A nie chodzi po prostu o użycie kropki zamiast przecinaka jako separatora dziesiętnego? W przykładzie podałeś przecinek. Jeśli tak, to zamień przed castem przecinek na kropkę z użyciem replace
Witam,
Rozwiązaniem jest replace:
convert(real, REPLACE('0,3212',',','.'))
Dzięki za pomoc.
Pozdrawiam,