Marcin Bugowski

Marcin Bugowski HR Process Analyst,
Payroll System
Administrator,
Citiban...

Temat: SQL Oracle

Witam,

chciałbym zapytać, czy istnieje (wydaje mi się, że tak, ale nie mogę sobie porzypomnieć) funkcja/instrukcja, która dla wartości > 0 zawsze zwraca 1, dla wartości = 0 zawsze zwraca 0, a dla wartości < 0 zawsze zwraca -1

wartość = 8
oczekiwana: 1

wartość = 0
oczekiwana = 0

wartość = -8
oczekiwana = -1

Z góry dziękuję za pomoc i odpowiedzi.
Zbigniew Siciarz

Zbigniew Siciarz robię internety

Marcin Bugowski

Marcin Bugowski HR Process Analyst,
Payroll System
Administrator,
Citiban...

Temat: SQL Oracle

WIEDZIAŁEM, że zapomniałem :)

ogromne dzięki.

pozdrawiam
Tomasz W.

Tomasz W. Administrator
Systemów
Informatycznych

Temat: SQL Oracle

Witam,
SIGN dotyczy wartości numerycznych i zamienianych na numeryczne.

A jak zamienić prezentację wartości znakowej + i - ( plus i minus ) na inny ciąg znaków ?

Jeśli wartość jest '-' to wyświetlaj w wyniku select 'Wydano'
jeśli '+' to 'Przyjeto',
domyślnie ''

?

Pozdrawiam
Tomek

konto usunięte

Temat: SQL Oracle

Tomasz W.:
Witam,
SIGN dotyczy wartości numerycznych i zamienianych na numeryczne.

A jak zamienić prezentację wartości znakowej + i - ( plus i minus ) na inny ciąg znaków ?

Jeśli wartość jest '-' to wyświetlaj w wyniku select 'Wydano'
jeśli '+' to 'Przyjeto',
domyślnie ''

?
http://www.techonthenet.com/oracle/functions/case.php
Tomasz W.

Tomasz W. Administrator
Systemów
Informatycznych

Temat: SQL Oracle

Działa w takim zapisie:
select
t.direction Kierunek_1,
CASE
WHEN t.direction='-' THEN 'Wydanie'
WHEN t.direction='+' THEN 'Przyjecie'
ELSE '0'
END Kierunek_2
from inventory_transaction t,

Dziękuję bardzo i pozdrawiam :)

Tomek

konto usunięte

Temat: SQL Oracle

Tomasz W.:
Działa w takim zapisie:
select
t.direction Kierunek_1,
CASE
WHEN t.direction='-' THEN 'Wydanie'
WHEN t.direction='+' THEN 'Przyjecie'
ELSE '0'
END Kierunek_2
from inventory_transaction t,

Dziękuję bardzo i pozdrawiam :)

Tomek

Jak tak to wygląda to możesz jeszcze zrobić tak
Select t.direction, decode(t.direction, '-', 'Wydanie', '+' , 'Przyjecie', Null) Kierunek_1 from inventory_transaction t,
Tomasz W.

Tomasz W. Administrator
Systemów
Informatycznych

Temat: SQL Oracle

Tak, też działa :)
Które zastosowanie jest bardziej wydajne dla zapytania bazy ?

konto usunięte

Temat: SQL Oracle

Tomasz W.:
Tak, też działa :)
Które zastosowanie jest bardziej wydajne dla zapytania bazy ?

W sumie to nie powinno mieć to większego znaczenia z punktu widzenia wydajności. Na pewno to DECODE jest dużo czytelniejsze (przynajmniej dla mnie).

Następna dyskusja:

pytanie sql do weryfikacji ...




Wyślij zaproszenie do