SQL Academy · Oppitunti

Merkkijonojen yhdistäminen: || ja CONCAT

Yhdistäkää merkkijonoja ||-operaattorilla ja CONCAT()-funktiolla sekä ymmärtäkää, miten kumpikin käsittelee NULL-syötteitä.

Oppitunti 1/413 vaihetta

Merkkijonojen yhdistäminen: || ja CONCAT on ilmainen SQL Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu SQL Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. SQL Academy-kurssilla on yhteensä 4 oppituntia.

Vakiomuotoinen yhdistäminen: ||

Merkkijonojen yhdistämiseen tarkoitettu SQL-standardin mukainen operaattori on ||:

SELECT first_name || ' ' || last_name AS full_name FROM users;
SELECT 'Hello, ' || name || '!' FROM users;

|| ja NULL = NULL

Jos jokin operandi on NULL, koko lausekkeen arvoksi tulee NULL. Ilmaise toiminta eksplisiittisesti:

SELECT first_name || ' ' || NULL;     -- NULL

-- Defend with COALESCE:
SELECT first_name || ' ' || COALESCE(last_name, '') FROM users;

CONCAT: NULL-arvot turvallisesti käsittelevä vaihtoehto

CONCAT käsittelee NULL-arvon tyhjänä merkkijonona:

SELECT CONCAT(first_name, ' ', last_name) FROM users;
SELECT CONCAT(first_name, ' ', NULL);     -- 'first_name ' (no NULL)

CONCAT_WS: erotinmerkin kanssa

Luettavin vaihtoehto ”yhdistä erottimella” -tilanteisiin:

SELECT CONCAT_WS(' ', title, first_name, middle_initial, last_name) AS pretty_name
FROM users;
-- ' ' between non-NULL fields only

Merkkijonojen ja lukujen yhdistäminen

Voit tehdä tyyppimuunnoksen tai luottaa implisiittiseen muunnokseen (PostgreSQL on tiukka — eksplisiittiset tyyppimuunnokset ovat turvallisempia):

SELECT 'Order #' || id::TEXT  FROM orders;
SELECT CONCAT('Order #', id) FROM orders;     -- CONCAT auto-casts

Näyttömerkkijonojen muodostaminen

Muodosta selkeästi luettavia tunnisteita:

SELECT id,
       email,
       CONCAT_WS(', ', city, region, country) AS location
FROM users;

Koostearvojen yhdistäminen STRING_AGG-funktiolla

Jos haluat yhdistää monen rivin arvot, käytä STRING_AGG-funktiota (tai array_agg-funktiota):

SELECT user_id,
       STRING_AGG(name, ', ' ORDER BY name) AS tag_names
FROM user_tags
GROUP BY user_id;

FORMAT mallipohjaisille merkkijonoille

PostgreSQL:n format() noudattaa printf-tyyliä ja käsittelee NULL-arvot turvallisesti:

SELECT format('User %s (id=%s) joined on %s',
              full_name, id, created_at::DATE)
FROM users;

Tyhjä merkkijono ja NULL

Päätä jokaisen sarakkeen kohdalla, onko tyhjä merkkijono kelvollinen arvo. Jos ei ole, käsittele syötteen '' NULL-arvona:

INSERT INTO contacts (phone) VALUES (NULLIF(:phone, ''));

Moniriviset merkkijonoliteraalit

PostgreSQL tukee dollarilainausta, jolla moniriviset merkkijonot voidaan kirjoittaa ilman suojausmerkkejä:

SELECT $$Hello,
'World' — with quotes!$$;

SELECT $custom_tag$ ... $custom_tag$;

Yhdistämisen suorituskyky

Yhdistäminen on nopeaa — miljoonia kertoja sekunnissa. Kustannukset syntyvät yleensä rivien I/O-toiminnoista, eivät merkkijono-operaatioista.

Kertaus

Käytä ||-operaattoria vakiomuotoiseen yhdistämiseen, CONCAT- ja CONCAT_WS-funktioita NULL-arvojen ohittamiseen, FORMAT-funktiota mallipohjiin ja STRING_AGG-funktiota monen rivin yhdistämiseen.

Pikatesti

Jos last_name on NULL, mitä first_name || ' ' || last_name palauttaa?

Aloita maksutta

Opi SQL tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
46
Oppitunnit
183

Usein kysytyt kysymykset

Onko oppitunti ”Merkkijonojen yhdistäminen: || ja CONCAT” ilmainen?

Kyllä – oppitunnin ”Merkkijonojen yhdistäminen: || ja CONCAT” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko SQL Academy-kurssin, päivitä CoddyKit PROhon. SQL Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Merkkijonojen yhdistäminen: || ja CONCAT”?

Yhdistäkää merkkijonoja ||-operaattorilla ja CONCAT()-funktiolla sekä ymmärtäkää, miten kumpikin käsittelee NULL-syötteitä. Harjoittelet SQL Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni SQL Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin SQL Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Merkkijonojen yhdistäminen: || ja CONCAT”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä SQL Academy-oppitunnilla?

Kyllä. Jokainen SQL Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Merkkijonojen yhdistäminen: || ja CONCAT
  2. UPPER, LOWER, SUBSTRING, REPLACE
  3. TRIM, LPAD, RPAD
  4. Kokotekstihakujen johdanto (tsvector, to_tsquery)
← Takaisin: SQL Academy