Merkkijonojen yhdistäminen: || ja CONCAT
Yhdistäkää merkkijonoja ||-operaattorilla ja CONCAT()-funktiolla sekä ymmärtäkää, miten kumpikin käsittelee NULL-syötteitä.
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 onlyMerkkijonojen 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-castsNä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?
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
- Merkkijonojen yhdistäminen: || ja CONCAT
- UPPER, LOWER, SUBSTRING, REPLACE
- TRIM, LPAD, RPAD
- Kokotekstihakujen johdanto (tsvector, to_tsquery)