๐Ÿฌ MySQL - ๋ถ€๋ถ„ ๋ฌธ์ž์—ด(SUBSTR), ํ•ฉ์น˜๊ธฐ(CONCAT)๋ฅผ ์ด์šฉํ•œ ๋ฌธ์ž์—ด ๋ถ€๋ถ„ ์ˆ˜์ •

modoleeยท2020๋…„ 8์›” 27์ผ
2
post-thumbnail

SUBSTR : ๋ฌธ์ž์—ด์˜ ์ผ๋ถ€๋ฅผ ์ถ”์ถœ

  • 4๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช…

  • str(varchar) : ์›๋ณธ ๋ฌธ์ž์—ด
  • pos(int) : ์ถ”์ถœํ•  ๋ฌธ์ž์—ด ์‹œ์ž‘ ์ธ๋ฑ์Šค
    • 1๋ถ€ํ„ฐ ์‹œ์ž‘
    • ์Œ์ˆ˜๋„ ๊ฐ€๋Šฅ
  • len(int) : ์ถ”์ถœํ•  ๋ฌธ์ž์—ด ๊ธธ์ด

SUBSTR(str, pos), SUBSTR(str FROM pos)

  • ์‹œ์ž‘ ์œ„์น˜๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ถ”์ถœ
SELECT SUBSTR('๋ชจ๋„๋ฆฌ์˜ ๊ฐœ๋ฐœ ๋ฒจ๋กœ๊ทธ', 6);
SELECT SUBSTR('๋ชจ๋„๋ฆฌ์˜ ๊ฐœ๋ฐœ ๋ฒจ๋กœ๊ทธ' FROM 6);
-> ๊ฐœ๋ฐœ ๋ฒจ๋กœ๊ทธ

SELECT SUBSTR('๋ชจ๋„๋ฆฌ์˜ ๊ฐœ๋ฐœ ๋ฒจ๋กœ๊ทธ', -3);
SELECT SUBSTR('๋ชจ๋„๋ฆฌ์˜ ๊ฐœ๋ฐœ ๋ฒจ๋กœ๊ทธ' FROM -3);
-> ๋ฒจ๋กœ๊ทธ

SUBSTR(str, pos, len), SUBSTR(str FROM pos FOR len)

  • ์‹œ์ž‘ ์œ„์น˜๋ถ€ํ„ฐ ์ง€์ •ํ•œ ๊ธธ์ด ๋งŒํผ ์ถ”์ถœ
SELECT SUBSTR('๋ชจ๋„๋ฆฌ์˜ ๊ฐœ๋ฐœ ๋ฒจ๋กœ๊ทธ', 6, 2);
SELECT SUBSTR('๋ชจ๋„๋ฆฌ์˜ ๊ฐœ๋ฐœ ๋ฒจ๋กœ๊ทธ' FROM 6 FOR 2);
-> ๊ฐœ๋ฐœ

SELECT SUBSTR('๋ชจ๋„๋ฆฌ์˜ ๊ฐœ๋ฐœ ๋ฒจ๋กœ๊ทธ', -6, 4);
SELECT SUBSTR('๋ชจ๋„๋ฆฌ์˜ ๊ฐœ๋ฐœ ๋ฒจ๋กœ๊ทธ' FROM -6 FOR 4);
-> ๊ฐœ๋ฐœ ๋ฒจ

CONCAT : ๋ฌธ์ž ์—ฐ๊ฒฐ

CONCAT(str)

  • str(varchar*) : ์—ฐ๊ฒฐ ํ•  ๋ฌธ์ž๋“ค. ์‰ผํ‘œ(,)๋กœ ๋‚˜๋ˆ ์„œ ์ž…๋ ฅ
SELECT CONCAT('๋ชจ๋„๋ฆฌ', '์˜', ' ', '๋ฒจ๋กœ๊ทธ');
-> ๋ชจ๋„๋ฆฌ์˜ ๋ฒจ๋กœ๊ทธ

๋ฌธ์ž์—ด ๋ถ€๋ถ„ ์ˆ˜์ • ์˜ˆ์‹œ

user ํ…Œ์ด๋ธ”

  • ์œ„์™€ ๊ฐ™์€ ํ…Œ์ด๋ธ”์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, group์ด A์ธ row๋“ค์˜ tag ๊ฐ’ ์ค‘ ABC๋ฅผ AAA๋กœ ์ผ๊ด„์ ์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.
  • ์ด ๋•Œ SUBSTR๊ณผ CONCAT์„ ์ด์šฉํ•˜๋ฉด ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  • AAA + ๊ธฐ์กด tag์˜ 4๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ถ”์ถœ
UPDATE user
SET tag = CONCAT('AAA', SUBSTR(tag, 4))
WHERE group = 'A'

๊ฒฐ๊ณผ

profile
๊ธฐ์ดˆ๊ฐ€ ํƒ„ํƒ„ํ•œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ๊ฟˆ๊ฟ‰๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€