sql >> Databasteknik >  >> RDS >> PostgreSQL

Sammanfoga en sträng och ett nummer i PostgreSQL

PostgreSQL ger oss följande sätt att sammanfoga strängar och nummer:

  • CONCAT() funktion, som sammanfogar dess argument.
  • Rörsammansättningsoperatorn (|| ), som sammanfogar dess operander.

Exempel på var och en nedan.

CONCAT() Funktion

CONCAT() funktion sammanfogar textrepresentationerna av dess argument.

Exempel:

SELECT CONCAT('Player', 456);

Resultat:

Player456

Vi kan inkludera ett mellanslag, antingen genom att lägga till ett mellanslag i den befintliga strängen eller genom att sammanfoga ett tredje argument som enbart består av ett mellanslag:

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

Resultat:

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

Rörsammansättningsoperatören (|| )

Det här exemplet använder sammanlänkningsoperatorn (|| ):

SELECT 'Player ' || 456;

Resultat:

Player 456

I det här fallet lade jag till ett blanksteg till det första argumentet.

Sammanfogande nummer utan en sträng

Om du behöver sammanfoga två siffror men inga strängar, måste du först kasta minst ett av talen till en sträng. Annars uppstår ett fel.

Exempel på felet:

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.

Här är ett snabbt sätt att lösa problemet:

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

Resultat:

123456

  1. Hur UCASE()-funktionen fungerar i MySQL

  2. Exempel på hur man använder bind_result vs get_result

  3. Ska jag designa en tabell med en primärnyckel av varchar eller int?

  4. Ansluter RazorSQL till Salesforce.com