Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu

Funkcja to_char z liczbami

Funkcje konwersji danych do innych typów danych. To_char (numer) konwertuje numer do tekstu. To_Number konwertuje tekst do numeru.

Wybierz To_char (123) z Dual zwróci linię 123, wybierz, aby_Number (`12345") z Dual zwróci numer 12345.

Praca laboratoryjna. Zmiana formatu numerów wyjściowych

Zmiany w formacie wartości numerycznych w Oracle SQL, funkcja TO_Char do pracy z wartościami numerycznymi.

Zadanie:

Napisz prośbę, która wyświetli informacje o nazwie, nazwisku i wynagrodzeniu pracowników z tabeli Hr.employees w formacie pokazanym na FIG. 3.4-1:

Figa. 3.4. -1

Jednocześnie dane muszą być posortowane w taki sposób, że wiersze dla pracowników z największym wynagrodzeniem są pierwsze wyświetlane.

Uwaga:

Niektóre zarobki na FIG. 3.4-1 zmieniono, więc mogą nie pokrywać się z twoimi wartościami.

Decyzja:

Wybierz opcję First_name jako "Nazwa", Last_name jako "Nazwisko", To_char (pensja "L999999999.99") jako "sałatka" od Hr.Mollistów zamówić przez wynagrodzenie DESC.

Funkcje to_Number i to_date

Funkcja konwersji wiersza w dniu T_Date (ciąg, format). Możliwe formaty są już uwzględniane powyżej, więc podam kilka przykładów korzystania z tej funkcji. Przykłady:

WYBIERZ To_date (01.01.2010, `dd.mm.yyyy) Z. Dual zwróci datę "01.01.2010";

WYBIERZ To_date (01.jan.2010, `dd.mon.yyyy) Z. Dual zwróci datę "01.01.2009";

WYBIERZ To_date ("15-01-10", `dd-mm-yy") Z. Dual zwróci datę "01/15/2010".

Funkcja konwersji wiersza do wartości numerycznej do_Number (ciąg, format). Najczęstsze formaty są wymienione w tabeli, więc rozważ korzystanie z tej funkcji na przykładach. Przykłady:

WYBIERZ To_Number (`100") Z. Dual zwróci numer 100 Wybierz do_Number (`0010.01," 9999D99) Z. Dual zwróci numer 10.01;

WYBIERZ To_Number ("500 000", "999g999") Z. Dual zwróci numer 500000.

Element RR w formacie dat

Element daty i czasu formatu RR jest podobny do pierwiastego formatu YY date i godzina, ale zapewnia dodatkową elastyczność przechowywania wartości daty iw innych stuleciach. Element dat rr i format czasu pozwala przechowywać daty XX wieku w XXI wieku, wskazując tylko dwie ostatnie cyfry roku.

Jeśli dwie ostatnie kilka postaci bieżącego roku wynoszą 00 do 49, rok zwrotu ma takie same dwa cyfry jak w bieżącym roku.

Jeśli dwie ostatnie dane bieżącego roku od 50 do 99, pierwsze 2 cyfry zwracanego roku są 1 więcej niż w pierwszych 2 cyfrach bieżącego roku.

Jeśli dwie ostatnie dane bieżącego roku są 00 do 49, pierwsze 2 cyfry zwracanego roku są 1 mniejsze niż pierwsze 2 cyfry bieżącego roku.

Jeśli dwie ostatnie dane bieżącego roku od 50 do 99, wrócił rok ma takie same dwa pierwsze cyfry jak w bieżącym roku.

Funkcja NVL.

Funkcja NVL jest zwykle stosowana najczęściej. Funkcja odbiera dwa parametry: NVL (Expr1, Exerg2). Jeśli pierwszy parametr Expr1 nie jest równy NULL, funkcja zwraca swoją wartość. Jeśli pierwszy parametr NULL, funkcja zwraca wartość drugiego parametru EXERG2.

Przykład: Wybierz NVL (Supplied_city, N / A ") od dostawców:

Oświadczenie SQL powróci N / ", jeśli pole Dostepna_City zawiera wartość zerowej. W przeciwnym razie zwróci wartość_życzanej wartości_city.

Innym przykładem korzystania z funkcji NVL w Oracle / PLSQL to:

wybierz opcję Dostawca_ID, NVL (supplied_desc, Dostawca_name) od dostawców.

Ta aplikacja SQL powróci nazwa Dostawcy. Pole, jeśli dostawca_desc. zawiera wartość zerową. W przeciwnym razie wróci dostawca_desc..

Ostatni przykład: Korzystanie z funkcji NVL w Oracle / PLSQL to: Wybierz NVL (Komisja, 0) ze sprzedaży;

To oświadczenie SQL powróciło do 0, jeśli komisja Pole zawiera wartość zerową. W przeciwnym razie możliwe byłoby powrót komisja pole.

Konwersja NVL dla różnych typów danych

Aby przekonwertować wartość nieokreśloną rzeczywistą funkcją, używana jest funkcja NVL: Nvl ( wyrażenie1, wyrażenie 2), gdzie:

wyrażenie1- Źródło lub obliczona wartość, która może być niepewna.

wyrażenie2. - wartość, która jest podstawiona zamiast wartości nieokreślonej.

Uwaga: Funkcja NVL może być używana do przekształcenia dowolnego typu danych, ale wynik zawsze będzie taki sam typ jak wyrażenie1.

Transformacja NVL różne rodzaje:

Numer - NVL. (kolumna numeryczna, 9).

Char lub Varchar2 - NVL (Symbole | kolumna, "Niedostępne").

Praca laboratoryjna. Zastosowanie funkcji NVL

Funkcja NVL do pracy z niepewnymi wartościami w Oracle SQL.

Zadanie:

Napisz prośbę, która wyświetla informacje o nazwie i nazwisku personelu z tabeli hr.employees., A także ofertę Komisji (Column Commission_PCT) dla pracownika. Jednocześnie dla tych pracowników, dla których Komisja nie jest zdefiniowana, konieczne jest wyświetlenie wartości 0. Wynik zapytania musi być przedstawiony na FIG. 3.5-1.

Figa. 3.5. -1 (wartości zaczynają się od linii 51)

Decyzja:

Kodeks odpowiedniego żądania może być:

Wybierz nazwę First_name jako "Nazwa", Last_name jako "Nazwisko", NVL (Komisja_PCT, 0) jako "stawka prowizji" z hr.employees.

Funkcja NVL.

Funkcja NVL jest zwykle stosowana najczęściej. Funkcja otrzymuje dwa parametry: NVL (Expr1, Expr2). Jeśli pierwszy parametr Expr1 nie jest równy NULL, funkcja zwraca swoją wartość. Jeśli pierwszy parametr NULL, funkcja zwraca wartość drugiego parametru Expr2.

Rozważać praktyczny przykład. Pole Comm w tabeli EMP może zawierać wartości NULL. Podczas wykonywania zapytania o postaci:

Wybierz Empno, Enve, Comm, NVL (COMM, 0) NVL_COMM

Z Scott.emp.

wartość null. zostanie zastąpiony przez zero. Należy pamiętać, że w przypadku formacji wartości za pomocą funkcji jest przypisany do pseudonimu. Wyniki żądania będą:

Empno. Imię. COMM. Nvl_comm.
7369 Kowal 0
7499 Allen 300 300
7521 Oddział 500 500
7566 Jones. 0
7654 Jaskółka oknówka. 1400 1400
7698 Blake. 0
7782 Clark. 0
7839 Król. 0
7844 Tokarz 0 0
7900 James. 0
7902 Bród 0
7934 Młynarz. 0

Ceyl (n)

Funkcja CIOL zwraca najmniejszą liczbę całkowitą, większą lub równą liczbie N. Na przykład:

Wybierz CeiL (100) X1, Ceil (-100) X2, CeiL (100.2) X3, Ceil (-100.2) X4

Z Dual.

Funkcja TRUNC (N [, M])

Funkcja TRUNC zwraca numer n obcięty do oznaczeń M po dziesiętnym punkcie. Parametr M może nie być wskazany - w tym przypadku n obcinany do całości.

Wybierz TRUNC (100.25678) X1, TRUCC (-100.25678) x2, TRUCC (100,99) x3,

TRUNC (100.25678, 2) x4

Z Dual.

Funkcja podpisu (n)

Funkcja znaku określa liczbę liczb. Jeśli N jest dodatni, a następnie zwraca funkcję 1. Jeśli ujemny zostanie zwrócony -1. Jeśli zero jest zero, ponownie zostanie zwrócony. Na przykład:

Wybierz Znak (100.22) X1, Znak (-100.22) X2, Znak (0) X3

Z Dual.

Ciekawą cechą tej funkcji jest możliwość przesyłania M równy zero - nie powstaje błędów podziału przez 0.

Funkcja mocy (N, M)

Funkcja mocy buduje numer n do stopnia m. Stopień może być ułamkowy i negatywny, co znacząco rozszerza możliwości tej funkcji.

Wybierz mocy (10, 2) x1, moc (100, 1/2) x2,

Moc (1000, 1/3) x3, moc (1000, -1/3) x4

Z Dual.

X1. X2. X3. X4.
100 10 10 0,1

W niektórych przypadkach, dzwoniąc do tej funkcji, może wystąpić wyjątek. Na przykład:

Wybierz moc (-100, 1/2) x2

Z Dual.

W tym przypadku podjęto próbę obliczania korzenia kwadratowego z liczby ujemnej, co doprowadzi do błędu "Argument ORA-01428.

Funkcja SQRT (N)

Ta cecha Zwraca pierwiastek kwadratowy z numeru N. Na przykład:

Wybierz SQRT (100) x

Z Dual.

Funkcje Exp (N) i LN (n)

Funkcja EXP rzuca e do stopnia N, a funkcja LN oblicza logarytm naturalny z N (z N, N musi być większy niż zero). Przykład:

Wybierz EXP (2) X1, LN (1) X2, LN (Exp (2)) x3

Funkcja NVL.

Funkcja NVL jest zwykle stosowana najczęściej. Funkcja otrzymuje dwa parametry: NVL (Expr1, Expr2). Jeśli pierwszy parametr Expr1 nie jest równy NULL, funkcja zwraca swoją wartość. Jeśli pierwszy parametr NULL, funkcja zwraca wartość drugiego parametru Expr2.

Rozważyć praktyczny przykład. Pole Comm w tabeli EMP może zawierać wartości NULL. Podczas wykonywania zapytania o postaci:

Wybierz Empno, Enve, Comm, NVL (COMM, 0) NVL_COMM

Z Scott.emp.

wartość null zostanie zastąpiona zero. Należy pamiętać, że w przypadku formacji wartości za pomocą funkcji jest przypisany do pseudonimu. Wyniki żądania będą:

Empno. Imię. COMM. Nvl_comm.
7369 Kowal 0
7499 Allen 300 300
7521 Oddział 500 500
7566 Jones. 0
7654 Jaskółka oknówka. 1400 1400
7698 Blake. 0
7782 Clark. 0
7839 Król. 0
7844 Tokarz 0 0
7900 James. 0
7902 Bród 0
7934 Młynarz. 0

Ceyl (n)

Funkcja CIOL zwraca najmniejszą liczbę całkowitą, większą lub równą liczbie N. Na przykład:

Wybierz CeiL (100) X1, Ceil (-100) X2, CeiL (100.2) X3, Ceil (-100.2) X4

Z Dual.

Funkcja TRUNC (N [, M])

Funkcja TRUNC zwraca numer n obcięty do oznaczeń M po dziesiętnym punkcie. Parametr M może nie być wskazany - w tym przypadku n obcinany do całości.

Wybierz TRUNC (100.25678) X1, TRUCC (-100.25678) x2, TRUCC (100,99) x3,

TRUNC (100.25678, 2) x4

Z Dual.

Funkcja podpisu (n)

Funkcja znaku określa liczbę liczb. Jeśli N jest dodatni, a następnie zwraca funkcję 1. Jeśli ujemny zostanie zwrócony -1. Jeśli zero jest zero, ponownie zostanie zwrócony. Na przykład:

Wybierz Znak (100.22) X1, Znak (-100.22) X2, Znak (0) X3

Z Dual.

Ciekawą cechą tej funkcji jest możliwość przesyłania M równy zero - nie powstaje błędów podziału przez 0.

Funkcja mocy (N, M)

Funkcja mocy buduje numer n do stopnia m. Stopień może być ułamkowy i negatywny, co znacząco rozszerza możliwości tej funkcji.

Wybierz mocy (10, 2) x1, moc (100, 1/2) x2,

Moc (1000, 1/3) x3, moc (1000, -1/3) x4

Z Dual.

X1. X2. X3. X4.
100 10 10 0,1

W niektórych przypadkach, dzwoniąc do tej funkcji, może wystąpić wyjątek. Na przykład:

Wybierz moc (-100, 1/2) x2

Z Dual.

W tym przypadku podjęto próbę obliczania korzenia kwadratowego z liczby ujemnej, co doprowadzi do błędu "Argument ORA-01428.

Funkcja SQRT (N)

Ta funkcja zwraca pierwiastek kwadratowy z n numer. Na przykład:

Wybierz SQRT (100) x

Z Dual.

Funkcje Exp (N) i LN (n)

Funkcja EXP rzuca e do stopnia N, a funkcja LN oblicza logarytm naturalny z N (z N, N musi być większy niż zero). Przykład:

Wybierz EXP (2) X1, LN (1) X2, LN (Exp (2)) x3

Inwestowane funkcje dotknęliśmy trochę wcześniej, teraz uważają je trochę więcej szczegółów. Rozważmy również funkcję pracy z wartością NULL i funkcji, które pomagają wdrożyć działanie oddziału w żądaniu.

Zagnieżdżone funkcje

Zagnieżdżone funkcje Użyj zwracanej wartości jednej funkcji jako parametr wejściowy dla innej funkcji. Funkcje zawsze zwracają tylko jedną wartość. Dlatego można rozważyć wynik funkcji funkcji jako wartości dosłownej, gdy używasz go jako parametru połączeń do innej funkcji. Funkcje linii mogą być przymocowane do dowolnego poziomu zagnieżdżania. Wywołaj jedną funkcję

Funkcja1 (parametr1, parametry2, ...) \u003d wynik

Wymiana parametru funkcji, aby zadzwonić do innej funkcji może prowadzić do wyglądu gatunków

F1 (param1.1, F2 (param2.1, param2.2, F3 (param3.1)), param1.3)

Na początku funkcje zagnieżdżone są obliczane, zanim ich wyniki są wykorzystywane jako wartości wejściowe dla innych funkcji. Funkcje są obliczane z najgłębszego poziomu zagnieżdżania w prawo w lewo. Poprzednie wyrażenie jest wykonywane w następujący sposób

  1. Figura F3 (param1) jest obliczana, a wartość powrotowa jest używana jako trzeci parametr dla funkcji 2, zadzwońmy na jego param2.3
  2. Funkcja F2 jest następnie obliczana (param1, param2.2, param2.3), a wartość powrotowa jest używana jako druga funkcja parametrów F1 - Param1.2.
  3. Wreszcie funkcja F1 (param1, param2, param1.3) jest obliczana, a wynik jest zwracany do programu wywołania.

Zatem funkcja F3 znajduje się na trzecim poziomie zagnieżdżania.

Rozważ prośbę.

select_day (Last_day (Sysdate) -7, "Tue") z Dual;

  1. W tym zapytaniu, trzy funkcje, od niższego poziomu na górę - SYDSDATE, Last_day, Next_day. Żądanie jest wykonywane w następujący sposób.
  2. Przeprowadzono najbardziej zagnieżdżoną funkcję SYDSDATE. Zwraca bieżący czas systemowy. Załóżmy, że obecna data 28 października 2009 r
  3. Wynik jest wynikiem funkcji drugiego poziomu Last_day. Last_date ('28 -Oxt-2009 ') Zwraca ostatni dzień października 2009 r., Oznacza to wartość 31 października 2009 r.
  4. Następnie odejmowanie nastąpi od tego daty siedmiu dni - okazuje się 24 października.
  5. I wreszcie obliczana jest funkcja następnego_day ('24 -Oxt-2009 "," Tue "), a wniosek zwraca ostatni wtorek października - że w naszym przykładzie 27-października 2009 r.

Dość trudno jest zrozumieć i budować złożone wyrażenia za pomocą wielu załączonych wyzwań funkcji, ale pochodzi z czasem i praktyką. Możesz złamać takie wyrażenia z części i testu osobno. Dual stołowy jest bardzo przydatny do testowania Z.aprosov i wyników funkcji funkcji. Możesz przetestować i debugować małe elementy, które następnie łączą się w jeden duży pożądany wyraz.

Funkcje oddziałów.

Funkcje oddziałów, znane również, jakby coś - w przeciwnym razie służy do określenia ścieżki wdrażania w zależności od wszelkich okoliczności. Funkcje rozgałęzienia zwracają różne wyniki na podstawie żadnego wyniku obliczania stanu. Grupa takich funkcji przydzielają funkcje pracy z wartością NULL: NVL, NVL2, NULLIF i Coales. A także wspólne cechy reprezentowane przez funkcję dekodowania i wyrażeniem przypadku. Funkcja Decode jest funkcją Oracle, podczas gdy wyrażenie obudowy jest obecne w standardzie ANSI SQL.

Funkcja NVL.

Funkcja NVL sprawdza wartość kolumny lub wyrażanie dowolnego typu danych na NULL. Jeśli NULL - zwraca alternatywną wartość domyślną , w przeciwnym razie wartość początkowa zostanie zwrócona.

Funkcja NVL ma dwa wymagane parametry i składnię NVL (oryginał, IFNULL), w którym oryginał jest oryginalną wartością do sprawdzania i wyników IFNULL zwrócony przez funkcję, jeśli oryginalna wartość jest null. Rodzaj danych IFNULL i oryginalnych parametrów musi być kompatybilny. Oznacza to, że typ danych musi być taki sam lub powinien być możliwością ukrytej konwersji wartości z jednego typu na inny. Funkcja NVL zwraca wartość tego samego typu danych, co typ danych oryginalnego parametru. Rozważ trzy prośby

Zapytanie 1: Wybierz NVL (1234) z Dual;

Query 2: Wybierz NVL (Null, 1234) z Dual;

Zapytanie 3: Wybierz NVL (Substr ("ABC", 4), "nie istnieje podłoża") z podwójnego;

Ponieważ funkcje NVL wymagają dwóch parametrów Query 1 zwróci błąd ORA-00909: Nieprawidłowa liczba argumentów. Żądanie 2 powróci 1234, ponieważ wartość zerowa jest sprawdzana i jest null. Kwestia trzecia jest używana zagnieżdżona funkcja podłączenia, która próbuje wybrać czwarty znak z łańcucha w trzech znakach, zwraca wartość zerową, a funkcja NVL zwraca ciąg "BRAK IXISTRING".

Funkcja NVL jest bardzo przydatna podczas pracy z numerami. Służy do konwersji wartości Null do 0, dzięki czemu operacje arytmetyczne na liczbach nie zostaną zwrócone NULL

Funkcja NVL.2

Funkcja NVL2 zapewnia bardziej funkcjonalne niż NVL, ale także obsługuje wartość NULL. Sprawdza wartość kolumny lub wyrażeń dowolnego typu do NULL. Jeśli wartość nie jest równa wartości , zaangażowany jest drugi parametr, w przeciwnym razie trzeci parametr zostanie zwrócony, w przeciwieństwie do funkcji NVL, która w tym przypadku zwraca wartość początkowa.

Funkcja NVL2 ma trzy wymagane parametry i składnia NVL2 (oryginalna, IfnotNull, IFNULL), w której oryginał jest prawidłową wartością, Wartość IFNOTNULL jest zwracana w przypadku, gdy oryginał nie jest null i IFNULL zwrócony w przypadku, gdy oryginał jest zerowy. Rodzaje danych parametrów IFNOTNULL i IFNULL muszą być kompatybilne i nie mogą być długie. Typ danych zwracanej funkcji NVL2 jest równa rodzajowi danych parametru IFNOTULULL. Rozważ kilka przykładów

Zapytanie 1: Wybierz NVL2 (1234, 1, "Ciąg") z Dual;

Query 2: Wybierz NVL2 (Null, 1234, 5678) z Dual;

Zapytanie 3: Wybierz NVL2 (Substr ("ABC", 2), "nie BC", "bez podłoża") z podwójnej;

Parametr IfnotNull w zapytaniu 1 to numer, a parametr IFNULL jest ciągiem. Ponieważ typy danych są niezgodne, błąd "ORA-01722: Nieprawidłowy numer" jest zwracany. Kolejka Dwa zwroty Parametr IFNULL, ponieważ oryginał ma wartość , a wynik wynosi 5678. Pytanie trzy używa funkcji podrzędnej, która zwraca "BC" i zadzwoń do NVL2 ("BC", "nie BC", "bez podłagania") - który zwraca parametr IfnotNull - "nie bc".

Funkcja NULLIF.

Funkcja NULLIF sprawdza dwie wartości tożsamości. Jeśli są takie same - Null jest zwracany, inaczej pierwszy parametr zostanie zwrócony. Funkcja NULLIF ma dwa obowiązkowe parametry i składnia NULLF (IFUNQUAL, porównawcza_iTem). Funkcja porównuje dwa parametry, a jeśli są identyczne - zwracane jest , w przeciwnym razie parametr IfuneQual. Rozważ żądania.

Query 1: Wybierz Nullif (1234, 1234) z Dual;

Żądanie, które powraca , ponieważ parametry są identyczne. Wiersze w zapytaniu 2 nie są konwertowane na datę, ale są porównywane jako linie. Ponieważ rzędy różnych długości - zwraca parametr IfuneQual 24-liv-2009.

Rysunek 10-4, funkcja NULLIF jest inwestowana w funkcji NVL2. W funkcji NULLIF z kolei podręcznik i górne funkcje są używane jako część ekspresji w parametrze IFUNQUAL. Kolumna e-mail jest porównywana z tym wyrażeniem, która zwraca pierwszą literę nazwy, zjednoczeni z nazwiskiem pracowników, którzy mają nazwę na 4 znakach. Gdy te wartości są równe, Nullif powróci NULL, wartość parametru IfuneQual zwróci wartość. Wartości te są używane jako parametr dla funkcji NVL2. Z kolei NVL2 zwraca opis, czy kompecznicze elementy zbiegły się lub nie.

Rysunek 10-4 - Korzystanie z funkcji NULLIF

Funkcja koaleska

Funkcja Coalesce zwraca pierwszą wartość nie równą NULL z listy parametrów. Jeśli wszystkie parametry są NULL, NULL jest zwracany. Funkcja Coalesce ma dwa wymagane parametry i ile parametrów opcjonalnych i składniowych zniwej (Expr1, Expr2, ..., Expr1), w którym wynikiem jest Expr1, jeśli wartość Expr 1H NULL, w przeciwnym razie wynikiem zostanie Expr2, jeśli nie jest null itd. Coalesce jest równie w znaczeniu funkcji NVL

Coalesce (Expr1, Expr2) \u003d NVL (Expr1, Expr2)

Coalesce (Expr1, Expr2, Expr3) \u003d NVL (Expr1, NVL (Expr2, Expr3))

Typ danych Wartość zwracana Jeśli nie wartość Null Null jest równa typie danych pierwszej wartości nieucztu uwagi. Aby uniknąć błędu "ORA-00932: niespójne typy danych", wszystkie parametry innych niż Null muszą być kompatybilne z parametrem pierwszego nie null. Rozważ trzy przykłady.

Zapytanie 1: Wybierz Coalesce (Null, Null, Null, "string") z Dual;

Zapytanie 2: Wybierz Coalesce (Null, Null, NULL) z Dual;

Zapytanie 3: Wybierz Coalesce (Substr ("ABC", 4), "nie bc", "bez podciążenia") z podwójnego;

Żądanie 1 Zwraca czwarty parametr: ciąg, ponieważ jest to pierwszy parametr NULL. Zapytanie dwa zwraca NULL, ponieważ wszystkie parametry są null. Żądanie 3 Oblicza pierwszy parametr, otrzymuje wartość NULL i zwraca drugiego parametru, ponieważ jest to parametr pierwszego nieuNużywania.

Parametry funkcji NVL2 mogą mylić, jeśli jesteś już zaznajomiony z funkcją NVL. NVL (oryginalny, Ifnoull) zwraca oryginał, jeśli wartość nie jest , w przeciwnym razie IFNULL. NVL2 (Oryginalny, IfnotNull, Ifnoull) Zwraca IfNotNull, jeśli oryginalna wartość nie jest równa null inna niż IFNULL. Zamieszanie występuje ze względu na fakt, że drugi parametr funkcji NVL Ifnoull, podczas gdy NVL2 jest IFNotNull. Nie mam nadziei na ustawienie parametru w funkcji.

Funkcja dekodowania.

Funkcja dekodowania implementuje logika, a następnie, a następnie logika. Sprawdzanie dwóch pierwszych parametrów na równość i zwracanie trzeciej wartości w przypadku ich równości lub innej wartości w przypadku nierówności. Funkcja dekodowania ma trzy wymagane parametry i dekodowanie składni (Expr1, Comp1, Iftrue1 ,,). Parametry te są używane, jak pokazano w następującym przykładzie kodu pseudo.

Jeśli expr1 \u003d comp1, a następnie powrócić do IFTRUE1

Inaczej, jeśli expr1 \u003d comp2, a następnie zwróć iftrue2

Inaczej, jeśli Exprn \u003d Compun, a następnie wróć Iftruen

Inaczej zwróć Null | Iffalse;

Początkowo Expr1 jest porównywany z Comp1. Jeśli są równe wartości IFtrue1. Jeśli Expr1 nie jest równy Comp1, co dzieje się dalej, zależy od tego, czy określono parametry Comp2 i IFtrue2. Jeśli ustawiono zestawy, wartość Expr1 jest porównywana z Comp2. Jeśli wartości są równe, jeśli zwracany jest IFtrue2. Jeśli nie, jeśli istnieją parametr parametrów, Iftruen porównuje Expr1 i Compn, a jeśli Iftruen zostanie zwrócony w przypadku równości. Jeśli nie było zbiegu okoliczności w żadnym zestawie parametrów, jest zwracany, jeśli ten parametr został ustawiony lub null.

Wszystkie parametry w funkcji dekodowania mogą być wyrażeniami. Typ zwracanej wartości jest równy typowi pierwszego elementu kontroli - parametrucomp 1. Express Expression 1 Domyślij przekonwertowany na typ danych parametru1. Wszystkie inne dostępne opcje1 ... Compn. Domyślij również konwertowany na typ Comp1. Dekodowanie rozważa wartość NULL równa innej wartości zerowej, tj. Jeśli Expr1 jest NULL, a Comp3 jest , a Comp2 nie jest , wówczas wartość IFTRUE3 jest zwracana. Rozważ kilka przykładów

Zapytanie 1: Wybierz Decode (1234, 123, "123 jest mecz") z podwójnego;

Zapytanie 2: Wybierz dekodowanie (1234, 123 ", 123 jest mecz", "bez meczu") z podwójnego;

Query 3: Wybierz Decode ("Szukaj", "Comp1", "Treate1", "Comp2", "True2", "Szukaj", "True3", Substr ("2 2Search", 2, 6), "True4", " false ') z podwójnego;

Żądanie porównuje wartość 1234 i 123. Ponieważ nie są one równe, a następnie iFtrue1 jest ignorowane, a ponieważ nie jest zdefiniowany, jeśli wartość Null jest zwracany. Zapytanie jest identyczne z zapytaniem 1, wyjątek, że wartość IFFALSE jest zdefiniowana. Od 1234 r. Nie jest równe 123, Iffalse jest zwracany - "bez dopasowania". Query Trzy sprawdza wartości parametrów na dopasowaniu wartości wyszukiwania. Parametry Comp1 i Comp2 nie są równe "wyszukiwaniu", dlatego wyniki IFTRUE1 i IFTRUE2 są pomijane. Zbieg okoliczności znajduje się w trzecim porównaniu elementu Comp3 (pozycja parametru 6), a wartość IFTRUE3 (parametr 7) jest zwracany jako "TRUE3". Ponieważ zbieg okoliczności znajduje się więcej obliczeń nie są wykonane. Oznacza to, że mimo że wartość Comp4 (parametr 8) pokrywa się również z EXPR1 - wyrażenie to nigdy nie jest obliczane, ponieważ zbieg okoliczności stwierdzono w poprzednim porównaniu.

Wyrażenie sprawy

Wszystkie języki programowania trzeciego i czwartego generacji realizują projekt przypadku. Podobnie jak funkcja dekodowania, wyrażenie sprawy pozwala zaimplementować, jeśli-a następnie logika. Dostępne są dwie opcje korzystania z wyrażenia sprawy. Prosta wyrażenie przypadku Ustawia element źródłowy, aby porównać raz, a następnie wymienia wszystko niezbędne warunki Czeki. Kompleks (wyszukiwany) oblicza obu operatorów dla każdego stanu.

Wyrażenie sprawy ma trzy obowiązkowe parametry. Składnia ekspresji zależy od typu. Dla prostego przypadku wygląda jak

Case Search_Expr.

W przypadku porównania_expr1, a następnie iftrue1

}

Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu