Archiwa tagu: string to int

PostgreSQL funkcja CONCAT() – łączenie stringów

Dzisiaj zaprezentuję Wam funkcję CONCAT() która łączy wiele stringów (łańcuchów znaków). Każdy kolejny string który chcemy złączyć jest kolejnym argumentem tej funkcji przedzielonym przecinkiem. Jeżeli będziemy chcieli dołączyć do naszego nowego łąńcucha znaków wartość NULL to będzie ona zignorowana. Ciekawą rzeczą która robi ta funkcja to niejawna kowersja np. typów liczbowych np. INT na typ znakowy, co zobaczycie na poniższym przykładzie.
Zwracany typ: TEXT

PostgreSQL CONCAT() składnia

CONCAT( argument1 , argument2 , … )
Pamiętaj tekst wsadzamy w pojedynczy cudzysłów 'text', liczbę piszemy normalnie.

 

Przykład zastosowania funkcji CONCAT()

SELECT
    CONCAT('Ala ma ' , 2 , ' koty ' , NULL , 'i ' , 1 , ' psa.')

Wynik

    Ala ma 2 koty i 1 psa.

zwróćcie uwagę, że mamy tutaj ciągu znaków np. 'Ala ma ', mamy także wartości liczbowe: 2 i 1 ale mam także wartość NULL. Ciągi znaków są normalnie dołączane do nawego wynikowego łańcucha znaków, wartości liczbowe są konwertowane na tekst i także są dołączane a wartość NULL jest pomijana.


postgresqlpostgresqlpostgresql

PostgreSQL funkcja CAST – konwertujemy łańcuch znaków na liczbę

Jedno z najczęście spotykanych pytań dotyczących konwersji. Jak zamienić string (łańcuch znaków) na liczbę. Sprawę załatwi nam funkcja CAST().
 

PostgreSQL CAST() składnia

CAST( wyrażenie AS docelowy_typ)

wyrażenie – tutaj definiujemy wyrażenie które chcemy przekonwertować do docelowego typu
docelowy_typ – tutaj określamy do jakiego typu chce przekonwertować nasze wyrażenie


Przykłady zastosowania funkcji CAST()

Przekonwertuj łańcuch znaków '100' na liczbę 100. Dla przetestowania czy konwersja się powiodła dodaj do przekonwertowanej liczy 100 wartość 300 i wyświetl wynik operacji.

SELECT
    CAST( '100' AS INT) + 300 AS Wynik

Wynik

400

Na początku przekonwertowaliśmy łańcuch znaków '100' na liczbę 100, czyli CAST('100' AS INT). Następnie dodaliśmy do liczby 100 liczbę 300. Wynik naszej operacji to 400.


postgresqlpostgresqlpostgresql