sql >> Database teknologi >  >> RDS >> PostgreSQL

Sammenkæd en streng og et tal i PostgreSQL

PostgreSQL giver os følgende måder at sammenkæde strenge og tal:

  • CONCAT() funktion, som sammenkæder dens argumenter.
  • Rørsammenkædningsoperatoren (|| ), som sammenkæder dets operander.

Eksempler på hver nedenfor.

CONCAT() Funktion

CONCAT() funktion sammenkæder tekstgengivelserne af dens argumenter.

Eksempel:

SELECT CONCAT('Player', 456);

Resultat:

Player456

Vi kan inkludere et mellemrum, enten ved at tilføje et mellemrum til den eksisterende streng, eller ved at sammenkæde inkludere et tredje argument, der udelukkende består af et mellemrum:

SELECT 
    CONCAT('Player ', 456) AS "Option 1",
    CONCAT('Player', ' ', 456) AS "Option 2";

Resultat:

  Option 1  |  Option 2  
------------+------------
 Player 456 | Player 456

Rørsammenkædningsoperatøren (|| )

Dette eksempel bruger sammenkædningsoperatoren (|| ):

SELECT 'Player ' || 456;

Resultat:

Player 456

I dette tilfælde tilføjede jeg et mellemrum til det første argument.

Sammenkædning af tal uden en streng

Hvis du har brug for at sammenkæde to tal, men ingen strenge, skal du først caste mindst et af tallene til en streng. Ellers opstår der en fejl.

Eksempel på fejlen:

SELECT 123 || 456;

Resultat:

ERROR:  operator does not exist: integer || integer
LINE 1: SELECT 123 || 456;
                   ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.

Her er en hurtig måde at løse dette problem på:

SELECT CAST(123 AS varchar(3)) || 456;

Resultat:

123456

  1. MySQL sammenligner DATE-streng med streng fra DATETIME-feltet

  2. Forstå forskellen mellem EXCEPT og NOT IN-operatører

  3. Rækkenumre med ikke-deterministisk rækkefølge

  4. Java lagret procedure kalder i java program