Warunek w funkcji działa wadliwie

Warunek w funkcji działa wadliwie
  • Rejestracja: dni
  • Ostatnio: dni
0

Cześć,
napisałem funkcję, której przyjmuje następujące argumenty:

Kopiuj
create function dbo.GetSaldoWS(@nr_konta nvarchar(50), @saldo_na_dzien datetime, @typ_salda nvarchar(10))

W ciele funkcji mam m.in. następujący warunek:

Kopiuj
IF (@typ_salda = 'ObrotyWnZnak' OR @typ_salda = 'ObWnZnak'  OR @typ_salda = 'ObrotyAbsWn')
BEGIN
...
END

Problem jest następujący:
Gdy wywołam funkcję w stylu:

Kopiuj
select dbo.GetSaldoWS('905-3-1', '2017-02-28', 'ObWnZnak')

To wszystko działa prawidłowo. Jednak gdy wywołam funkcję tak:

Kopiuj
select dbo.GetSaldoWS('905-3-1', '2017-02-28', 'ObrotyWnZnak')

lub tak:

Kopiuj
select dbo.GetSaldoWS('905-3-1', '2017-02-28', 'ObrotyAbsWn')

To funkcja zwraca 0.0 - mimo, że powinna zwrócić wynik taki sam jak wtedy, gdy przyjmuje trzeci argument 'ObWnZnak'...
Czy ktoś się orientuje co może być powodem tego dziwacznego zjawiska?
Z góry dziękuję za pomoc!

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
5

Zmień 3 parametr funkcji na VARCHAR(20)

  • Rejestracja: dni
  • Ostatnio: dni
0

Hehe, głupi błąd...
Dziękować bardzo!!! :-)

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.