Zapis liczby z przecinkiem do bazy MSSQL jako real

Zapis liczby z przecinkiem do bazy MSSQL jako real
HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 40
0

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,

vpiotr
  • Rejestracja: dni
  • Ostatnio: dni
AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
2

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

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
4

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

HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 40
1

Witam,
Rozwiązaniem jest replace:
convert(real, REPLACE('0,3212',',','.'))

Dzięki za pomoc.

Pozdrawiam,

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.