Home > 2024 > SQL > ๐Ÿ’‰[SQL] REPLACE, SUBSTRING, CONCAT

๐Ÿ’‰[SQL] REPLACE, SUBSTRING, CONCAT
SQL

REPLACE

โ€˜REPLACEโ€™ ํ•จ์ˆ˜๋Š” SQL์—์„œ ๋ฌธ์ž์—ด ๋‚ด์˜ ํŠน์ • ๋ถ€๋ถ„์„ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์ด ํ•จ์ˆ˜๋Š” ๋ฐ์ดํ„ฐ ์ •์ œ๋‚˜ ์ˆ˜์ • ์ž‘์—…์—์„œ ํŠนํžˆ ์œ ์šฉํ•˜๋ฉฐ, ๊ธฐ์กด ๋ฌธ์ž์—ด ๋‚ด์˜ ํŠน์ • ํŒจํ„ด์ด๋‚˜ ๋ฌธ์ž๋ฅผ ์ฐพ์•„ ์ด๋ฅผ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด๋กœ ๋Œ€์ฒดํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • โ€˜REPLACEโ€™ ๋Š” ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์ •๋ฆฌ, ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํ‘œ์ค€ํ™”, ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž‘์—… ๋“ฑ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€˜REPLACEโ€™ ์‚ฌ์šฉ ์˜ˆ

  • ํŠน์ • ๋ฌธ์ž์—ด ๋Œ€์ฒด: ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ์—์„œ ์ „ํ™”๋ฒˆํ˜ธ ํ˜•์‹์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    SELECT REPLACE(phone_number, '-', '') FROM customers;
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜customersโ€™ ํ…Œ์ด๋ธ”์˜ โ€˜phone_numberโ€™ ์—ด์—์„œ ๋ชจ๋“  โ€™-โ€˜ ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด, โ€˜123-456-7890โ€™ ์ด๋ผ๋Š” ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ, โ€˜1234567890โ€™ ์œผ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์ •์ œ: ์‚ฌ์šฉ์ž์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์—์„œ ๋„๋ฉ”์ธ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    UPDATE users SET email = REPLACE(email, '@old_domain.com', '@new_domain.com');
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜usersโ€™ ํ…Œ์ด๋ธ”์˜ โ€˜emailโ€™ ์—ด์—์„œ โ€˜@old_domail.comโ€™ ์„ โ€˜@new_domain.comโ€™ ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  • ํ…์ŠคํŠธ ๋‚ด์šฉ ์ˆ˜์ •: ์ƒํ’ˆ ์„ค๋ช…์—์„œ ํŠน์ • ๋‹จ์–ด๋ฅผ ์ƒˆ๋กœ์šด ๋‹จ์–ด๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ์„ ๋•Œ
    UPDATE products SET description = REPLACE(description, 'oldword', 'newword');
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜productsโ€™ ํ…Œ์ด๋ธ”์˜ โ€˜descriptionโ€™ ์—ด์—์„œ โ€˜oldwordโ€™ ๋ฅผ โ€˜newwordโ€™ ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

โ€˜REPLACEโ€™ ํ•จ์ˆ˜์˜ ํŠน์ง•.

  • โ€˜REPLACEโ€™ ๋Š” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
    • ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†์ด ๋Œ€์ฒด๋ฅผ ํ•˜๊ณ ์ž ํ•  ๊ฒฝ์šฐ, ์ถ”๊ฐ€์ ์ธ ํ•จ์ˆ˜๋‚˜ ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌธ์ž์—ด ๋‚ด์—์„œ ์ง€์ •๋œ ํŒจํ„ด์ด๋‚˜ ๋ฌธ์ž์—ด์„ ์ฐพ์•„ ๋ชจ๋‘ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.
    • ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์—ด์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด, ์›๋ณธ ๋ฌธ์ž์—ด์ด ๋ณ€๊ฒฝ ์—†์ด ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.
  • โ€˜REPLACEโ€™ ํ•จ์ˆ˜๋Š” โ€˜SELECTโ€™, โ€˜UPDATEโ€™ ๋“ฑ์˜ ์ฟผ๋ฆฌ ๋‚ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ ์กฐํšŒ ๋˜๋Š” ์ˆ˜์ • ์ž‘์—…์— ๋ชจ๋‘ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ

  • ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ๋Š” โ€˜REPLACEโ€™ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ์˜ ์„ฑ๋Šฅ์— ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ํŠนํžˆ โ€˜UPDATEโ€™ ์ž‘์—…์—์„œ๋Š” ๋Œ€์ฒด ์ž‘์—…์œผ๋กœ ์ธํ•ด ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์‚ฌ์ „์— ์ž‘์—… ๋ฒ”์œ„๋ฅผ ์ž˜ ํŒŒ์•…ํ•˜๊ณ  ํ•„์š”ํ•œ ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ๋ฌธ์ž์—ด ๋Œ€์ฒด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋Š” ์›์น˜ ์•Š๋Š” ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ๋Œ€์ฒดํ•  ๋ฌธ์ž์—ด์ด ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š”์ง€ ์‚ฌ์ „์— ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

โ€˜REPLACEโ€™ ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ˆ˜์ •ํ•˜๊ณ  ์ •์ œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋กœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์ž‘์—…์— ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

SUBSTRING

โ€˜SUBSTRINGโ€™ ํ•จ์ˆ˜๋Š” SQL์—์„œ ๋ฌธ์ž์—ด์˜ ํŠน์ • ๋ถ€๋ถ„์„ ์ถ”์ถœํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์ด ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ ๋‚ด์—์„œ ํŠน์ • ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด(substring)์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์ •์ œ, ํŠน์ • ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ ์ถ”์ถœ, ๋˜๋Š” ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ์ž‘์—…์—์„œ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • โ€˜SUBSTRINGโ€™ ์€ ๋กœ๊ทธ ๋ถ„์„, ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์‚ฌ์šฉ์ž ์ž…๋ ฅ์˜ ํŠน์ • ๋ถ€๋ถ„ ์ฒ˜๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€˜SUBSTRINGโ€™ ์‚ฌ์šฉ ์˜ˆ

  • ํŠน์ • ์œ„์น˜์˜ ๋ฌธ์ž์—ด ์ถ”์ถœ: ์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ์—์„œ ๋„๋ฉ”์ธ ๋ถ€๋ถ„๋งŒ์„ ์ถ”์ถœํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    SELECT SUBSTRING(email FROM POSITION ('@' IN email) + 1) FROM users;
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜usersโ€™ ํ…Œ์ด๋ธ”์˜ โ€˜emailโ€™ ์—ด์—์„œ โ€™@โ€™ ๊ธฐํ˜ธ ๋’ค์˜ ๋„๋ฉ”์ธ ๋ถ€๋ถ„์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.

  • ๊ณ ์ •๋œ ํ˜•์‹์˜ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ: ์ „ํ™”๋ฒˆํ˜ธ์—์„œ ์ง€์—ญ ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    SELECT SUBSTRING(phone_number, 1, 3) FROM customers;
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜customersโ€™ ํ…Œ์ด๋ธ”์˜ โ€˜phone_numberโ€™ ์—ด์—์„œ ์ฒ˜์Œ 3์ž๋ฆฌ(์ง€์—ญ ์ฝ”๋“œ)๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฌธ์ž์—ด์˜ ํŠน์ • ๋ถ€๋ถ„ ์ˆ˜์ • ์ž‘์—…์— ์‚ฌ์šฉ: ์ฃผ์†Œ์—์„œ ํŠน์ • ๋ถ€๋ถ„์„ ๋‹ค๋ฅธ ํ˜•์‹์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    UPDATE addresses SET street = SUBSTRING(street, 1, 10) || '...' WHERE LENGTH(street) > 10;
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜addressesโ€™ ํ…Œ์ด๋ธ”์˜ โ€˜streetโ€™ ์—ด์—์„œ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 10์ž๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ, ์ฒ˜์Œ 10์ž๋งŒ์„ ๋‚จ๊ธฐ๊ณ  ๊ทธ ๋’ค๋ฅผ โ€˜โ€ฆโ€˜ ์œผ๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.

โ€˜SUBSTRINGโ€™ ํ•จ์ˆ˜์˜ ํŠน์ง•

  • โ€˜SUBSTRINGโ€™ ์€ ๋ฌธ์ž์—ด์˜ ํŠน์ • ์„น์…˜์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ์‹œ์ž‘ ์œ„์น˜์™€ ๊ธธ์ด(์„ ํƒ์ )๋ฅผ ์ง€์ •ํ•˜์—ฌ ์›ํ•˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ์ž‘์—…์— ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜, ํŠน์ • ํŒจํ„ด์— ๊ธฐ๋ฐ˜ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๋Š” ๋“ฑ์˜ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ํ•จ์ˆ˜์˜ ์ •ํ™•ํ•œ ๊ตฌ๋ฌธ์€ ์‚ฌ์šฉํ•˜๋Š” SQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์— ๋”ฐ๋ผ ์•ฝ๊ฐ„์”ฉ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํ•ด๋‹น ์‹œ์Šคํ…œ์˜ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ

  • โ€˜SUBSTRINGโ€™ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค๊ฐ€ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค๋Š” ์ ์„ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.(๋Œ€๋ถ€๋ถ„์˜ SQL ์‹œ์Šคํ…œ์—์„œ).
  • ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ๋Š” โ€˜SUBSTRINGโ€™ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฟผ๋ฆฌ์˜ ์„ฑ๋Šฅ์— ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ์ ์ ˆํ•œ ์ธ๋ฑ์Šค ์‚ฌ์šฉ๊ณผ ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ง์„ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€˜SUBSTRINGโ€™ ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๋ฐ ์žˆ์–ด ํ•„์ˆ˜์ ์ธ ๋„๊ตฌ๋กœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์—์„œ ๋‹ค์–‘ํ•œ ๋ฌธ์ž์—ด ์กฐ์ž‘ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

CONCAT

โ€˜CONCATโ€™ ํ•จ์ˆ˜๋Š” SQL์—์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž์—ด์„ ํ•˜๋‚˜๋กœ ๊ฒฐํ•ฉํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์ด ํ•จ์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์—์„œ ๋‹ค์–‘ํ•œ ๋ฌธ์ž์—ด ์ •๋ณด๋ฅผ ํ•ฉ์ณ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด ๊ฐ’์„ ์ƒ์„ฑํ•˜๊ณ ์ž ํ•  ๋•Œ ์œ ์šฉํ•˜๋ฉฐ, ๋ณด๊ณ ์„œ ์ž‘์„ฑ, ๋ฐ์ดํ„ฐ ํ˜•์‹์˜ ํ‘œ์ค€ํ™”, ์‚ฌ์šฉ์ž ์ด๋ฆ„์ด๋‚˜ ์ฃผ์†Œ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ์˜ ๊ฒฐํ•ฉ ๋“ฑ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€˜CONCATโ€™ ์‚ฌ์šฉ ์˜ˆ

  • ๋‹จ์ˆœํ•œ ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ: ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„๊ณผ ์„ฑ์„ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๊ฒฐํ•ฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜usersโ€™ ํ…Œ์ด๋ธ”์˜ โ€˜first_nameโ€™ ๊ณผ โ€˜last_nameโ€™ ์„ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ฒฐํ•ฉํ•œ ํ›„, โ€˜full_nameโ€™ ์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ์—ด๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ณต์ˆ˜์˜ ์—ด ๊ฒฐํ•ฉ: ๊ณ ๊ฐ์˜ ์ฃผ์†Œ ์ •๋ณด๋ฅผ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๊ฒฐํ•ฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    SELECT CONCAT(street_address, ', ', city, state, ' ', postal_code) AS full_address FROM customers;
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜customersโ€™ ํ…Œ์ด๋ธ”์—์„œ ์—ฌ๋Ÿฌ ์ฃผ์†Œ ๊ด€๋ จ ์—ด์„ ์ฝค๋งˆ์™€ ๊ณต๋ฐฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐํ•ฉํ•˜๊ณ , ์ด๋ฅผ โ€˜full_addressโ€™ ๋ผ๋Š” ์ƒˆ๋กœ์šด ์—ด๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ํ˜•์‹ ํ‘œ์ค€ํ™”: ์ƒํ’ˆ ์ฝ”๋“œ์™€ ์ƒํ’ˆ ์ด๋ฆ„์„ ๊ฒฐํ•ฉํ•˜์—ฌ ํ‘œ์ค€ ํ˜•์‹์˜ ์ƒํ’ˆ ์ •๋ณด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ์„ ๋–„
    SELECT CONCAT(product_code, ': ', product_name) AS product_info FROM products;
    

    ์ด ์ฟผ๋ฆฌ๋Š” โ€˜productsโ€™ ํ…Œ์ด๋ธ”์˜ โ€˜product_codeโ€™ ์™€ โ€˜product_nameโ€™ ์„ ์ฝœ๋ก ๊ณผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ฒฐํ•ฉํ•œ ํ›„,
    โ€˜product_infoโ€™ ๋ผ๋Š” ์ƒˆ๋กœ์šด ์—ด๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

โ€˜CONCATโ€™ ํ•จ์ˆ˜์˜ ํŠน์ง•

  • โ€˜CONCATโ€™ ํ•จ์ˆ˜๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž์—ด์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„ ์ด๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ๊ฒฐํ•ฉํ•œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฑฐ์˜ ๋ชจ๋“  SQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ์ง€์›๋˜๋ฉฐ, ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ์™€ ๋ฐ์ดํ„ฐ ํ˜•์‹์˜ ๋ณ€ํ™˜์— ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ๋Š” โ€˜CONCATโ€™ ๋Œ€์‹  ์—ฐ์‚ฐ์ž(**โ€™ ย  โ€˜** ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ๊ฒฐํ•ฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ

  • ๊ฒฐํ•ฉํ•˜๋ ค๋Š” ๋ฌธ์ž์—ด ์ค‘ ํ•˜๋‚˜๋ผ๋„ โ€˜NULLโ€™ ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ, โ€˜CONCATโ€™ ์˜ ๋™์ž‘์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ผ๋ถ€ ์‹œ์Šคํ…œ์€ โ€˜NULLโ€™ ์„ ๋นˆ ๋ฌธ์ž์—ด๋กœ ์ทจ๊ธ‰ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ „์ฒด ๊ฒฐ๊ณผ๊ฐ€ โ€˜NULLโ€™ ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ณต์žกํ•œ ๋ฌธ์ž์—ด ๊ฒฐํ•ฉ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋Š” ์„ฑ๋Šฅ์— ์ฃผ์˜ํ•ด์•ผ ํ•˜๋ฉฐ, ํŠนํžˆ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ๋Š” ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

โ€˜CONCATโ€™ ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒฐํ•ฉํ•˜๊ณ  ์กฐ์ž‘ํ•˜๋Š” ๊ณผ์ •์—์„œ ํ•„์ˆ˜์ ์ธ ๋„๊ตฌ๋กœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์—์„œ ๋‹ค์–‘ํ•œ ๋ฌธ์ž์—ด ๊ด€๋ จ ์ž‘์—…์„ ๊ตฌํ–‰ํ•˜๋Š” ๋ฐ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.