DB(Database)/MySQL

[MySQL] ๋‚ด์žฅํ•จ์ˆ˜ - ๋ฌธ์ž์—ด ํ•จ์ˆ˜

ํƒฑ์ ค 2021. 1. 20. 01:34
  • ASCII(์•„์Šคํ‚ค์ฝ”๋“œ), CHAR(์ˆซ์ž)
SELECT ASCII('A'), CHAR(65);

--> 65, A๋ฐ˜ํ™˜

 

  • BIT_LENGTH, CHAR_LENGHT, LENGTH
    • BIT_LENGTH(): ํ• ๋‹น๋œ ๋น„ํŠธํฌ๊ธฐ ๋ฐ˜ํ™˜
    • CHAR_LENGTH(): ๋ฌธ์ž ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜
    • LENGTH(): ํ• ๋‹น๋œ ๋ฐ”์ดํŠธ ์ˆ˜ ๋ฐ˜ํ™˜
    • ์˜๋ฌธ: ๋ฌธ์ž๋‹น 1๋ฐ”์ดํŠธ, ํ•œ๊ธ€: ๋ฌธ์ž๋‹น 3๋ฐ”์ดํŠธ 
SELECT BIT_LENGTH('ABC'), CHAR_LENGTH('ABC), LENGTH('ABC); --24, 3, 3๋ฐ˜ํ™˜
SELECT BIT_LENGTH('๊ฐ€๋‚˜๋‹ค'), CHAR_LENGTH('๊ฐ€๋‚˜๋‹ค'), LENGTH('๊ฐ€๋‚˜๋‹ค'); -- 72, 3, 9 ๋ฐ˜ํ™˜

 

  • CONCAT(๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...), CONCAT_WS(๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...)
    • CONCAT(): ๋ฌธ์ž์—ด์„ ์ด์–ด์ฃผ๋Š” ํ•จ์ˆ˜
    • CONCAT_WS(): ๊ตฌ๋ถ„์ž์™€ ํ•จ๊ป˜ ๋ฌธ์ž์—ด ์ด์–ด์คŒ
SELECT CONCAT_WS('.','2021','01','20'); -- 2020.01.20 ์ถœ๋ ฅ

 

  • ELT, FIELD, FIND_IN_SET, INSTR, LOCATE
    • ELT(์œ„์น˜, ๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2,...) : ์ฒซ ๋ฒˆ์ฉจ ์ธ์ˆ˜์ธ ์œ„์น˜์— ์ ํžŒ ์ˆซ์ž๋ฅผ ๋ณด๊ณ  ๊ทธ ์ˆซ์ž ์œ„์น˜์— ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜
    • FIELD(์ฐพ์„ ๋ฌธ์ž์—ด, ๋ฌธ์ž์—ด1, ๋ฌธ์ž์—ด2, ...) : ์ฐพ์„ ๋ฌธ์ž์—ด์˜ ์œ„์น˜๋ฅผ ์ฐพ์•„ ๋ฐ˜ํ™˜, ์—†์œผ๋ฉด 0 ๋ฐ˜ํ™˜
    • FIND_INSET(์ฐพ์„ ๋ฌธ์ž์—ด, ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ) : ์ฐพ์„ ๋ฌธ์ž์—ด์„ ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ์—์„œ ์ฐพ์•„ ์œ„์น˜ ๋ฐ˜ํ™˜
    • INSTR() : ๊ธฐ์ค€ ๋ฌธ์ž์—ด์—์„œ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ์ฐพ์•„ ๊ทธ ์‹œ์ž‘ ์œ„์น˜ ๋ฐ˜ํ™˜
    • LOCATE() : INSTR()์™€ ๋™์ผ, ์ธ์ž์˜ ์ˆœ์„œ๊ฐ€ ๋ฐ˜๋Œ€
    • ๋‘˜, 2, 2, 3, 3 ์ถœ๋ ฅ๋˜๋Š” ์˜ˆ์ œ
SELECT ELT(2, 'ํ•˜๋‚˜', '๋‘˜', '์…‹'); -- ๋‘˜ ๋ฐ˜ํ™˜
SELECT FIELD('๋‘˜', 'ํ•˜๋‚˜', '๋‘˜', '์…‹'); -- 2 ๋ฐ˜ํ™˜
SELECT FIND_IN_SET('๋‘˜', 'ํ•˜๋‚˜, ๋‘˜, ์…‹'); -- 2 ๋ฐ˜ํ™˜
SELECT INSTR('ํ•˜๋‚˜๋‘˜์…‹','๋‘˜'); -- 3 ๋ฐ˜ํ™˜
SELECT LOCATE('๋‘˜','ํ•˜๋‚˜๋‘˜์…‹'); -- 3 ๋ฐ˜ํ™˜

 

  • LOWER, UPPER
    • ๋Œ€๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž, ์†Œ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊ฟˆ
SELECT LOWER('abcABC'), UPPER('abcABC');

 

  • INSERT(๊ธฐ์ค€ ๋ฌธ์ž์—ด, ์œ„์น˜, ๊ธธ์ด, ์‚ฝ์ž…ํ•  ๋ฌธ์ž์—ด)
    • ๊ธฐ์ค€ ๋ฌธ์ž์—ด์˜ ์œ„์น˜๋ถ€ํ„ฐ ๊ธธ์ด๋งŒํผ ์ง€์šฐ๊ณ  ์‚ฝ์ž…ํ•  ๋ฌธ์ž์—ด ๋ผ์›Œ๋„ฃ๊ธฐ
SELECT INSERT('๊ฐ€๋‚˜๋‹ค๋ผ๋งˆ๋ฐ”์‚ฌ', 1, 4, 'ABCD'), INSERT('๊ฐ€๋‚˜๋‹ค๋ผ๋งˆ๋ฐ”์‚ฌ', 1, 2, 'ABCD');

 

  • LEFT(๋ฌธ์ž์—ด, ๊ธธ์ด), RIGHT(๋ฌธ์ž์—ด, ๊ธธ์ด)
    • ์™ผ์ชฝ ๋˜๋Š” ์˜ค๋ฅธ์ชฝ์—์„œ ๋ฌธ์ž์—ด ๊ธธ์ด๋งŒํผ ๋ฐ˜ํ™˜
SELECT LEFT('๊ฐ€๋‚˜๋‹ค๋ผ๋งˆ',2), RIGHT('๊ฐ€๋‚˜๋‹ค๋ผ๋งˆ', 2);

 

  • LPAD(๋ฌธ์ž์—ด, ๊ธธ์ด, ์ฑ„์šธ ๋ฌธ์ž์—ด), RPAD(๋ฌธ์ž์—ด, ๊ธธ์ด, ์ฑ„์šธ ๋ฌธ์ž์—ด)
    • ๋ฌธ์ž์—ด์„ ๊ธธ์ด๋งŒํผ ๋Š˜๋ฆฌ๊ณ  ๋นˆ ๊ณณ์„ ์ฑ„์šธ ๋ฌธ์ž์—ด๋กœ ์ฑ„์›€
SELECT LPAD('AB',4,'CD'), RPAD('AB',4,'CD');

 

  • LTRIM(), RTRIM()
    • ๋ฌธ์ž์—ด์˜ ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ ๊ณต๋ฐฑ ์ œ๊ฑฐ
SELECT LTRIM('  ABC'), RTRIM('ABC   ');

 

 

  • TRIM(๋ฌธ์ž์—ด), TRIM(๋ฐฉํ–ฅ ์ž๋ฅผ๋ฌธ์ž์—ด FROM ๋ฌธ์ž์—ด)
    • ๋ฌธ์ž์—ด์˜ ์•ž๋’ค ๊ณต๋ฐฑ ๋ชจ๋‘ ์—†์•ฐ
    • ๋ฐฉํ–ฅ: ์•ž LEADING, ์–‘์ชฝ BOTH, ๋’ค TRAILING
SELECT TRIM('  SQL  '), TRIM(BOTH '^' FROM '^^๊ณต๋ถ€^^');

 

  • REPEAT(๋ฌธ์ž์—ด, ํšŸ์ˆ˜)
    • ๋ฌธ์ž์—ด์„ ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต
  • REPLACE(๋ฌธ์ž์—ด, ์›๋ž˜ ๋ฌธ์ž์—ด, ๋ฐ”๊ฟ€ ๋ฌธ์ž์—ด)
    • ๋ฌธ์ž์—ด์—์„œ ์›๋ž˜ ๋ฌธ์ž์—ด ์ฐพ์•„ ๋ฐ”๊ฟ€ ๋ฌธ์ž์—ด๋กœ ์น˜ํ™˜
SELECT REPLACE ('I ๊ณต๋ถ€ SQL', '๊ณต๋ถ€', 'study');

 

  • REVERSE(๋ฌธ์ž์—ด)
    • ๋ฌธ์ž์—ด ๊ฑฐ๊พธ๋กœ ๋ฐ˜ํ™˜
  • SPACE(๊ธธ์ด)
    • ๊ธธ์ด๋งŒํผ์˜ ๊ณต๋ฐฑ ๋ฐ˜ํ™˜
  • SUBSTRING(๋ฌธ์ž์—ด, ์‹œ์ž‘์œ„์น˜, ๊ธธ์ด), SUBSTRING(๋ฌธ์ž์—ด FROM ์‹œ์ž‘์œ„์น˜ FOR ๊ธธ์ด)
    • ์‹œ์ž‘์œ„์น˜๋ถ€ํ„ฐ ๊ธธ์ด๋งŒํผ ๋ฌธ์ž ๋ฐ˜ํ™˜
    • ๊ธธ์ด ์ƒ๋žตํ•˜๋ฉด ๋ฌธ์ž์—ด ๊ธ‘๊นŒ์ง€ ๋ฐ˜ํ™˜
SELECT SUBSTRING('SQL์—ฐ์Šต',1,3);

 

  • SUBSTRING_INDEX(๋ฌธ์ž์—ด, ๊ตฌ๋ถ„์ž, ํšŸ์ˆ˜)
    • ๋ฌธ์ž์—ด์—์„œ ๊ตฌ๋ถ„์ž๊ฐ€ ์™ผ์ชฝ๋ถ€ํ„ฐ ํšŸ์ˆ˜ ๋ฒˆ์งธ ๋‚˜์˜ค๋ฉด ๊ทธ ์ดํ›„ ๋ฌธ์ž์—ด ๋ฒ„๋ฆฌ๊ณ  ์•ž ๋ฌธ์ž์—ด ์ถœ๋ ฅ
    • ํšŸ์ˆ˜๊ฐ€ ์Œ์ˆ˜๋ฉด ์˜ค๋ฅธ์ชฝ๋ถ€ํ„ฐ ์…ˆ, ์™ผ์ชฝ ๋‚จ์€ ๋ฌธ์ž์—ด ๋ฒ„๋ฆฌ๊ณ  ์ถœ๋ ฅ
SELECT SUBSTRING_INDEX('๋”ธ๊ธฐ,๋‹น๊ทผ,์ฐธ์™ธ,์ˆ˜๋ฐ•', ',', 3), SUBSTRING_INDEX('๋”ธ๊ธฐ,๋‹น๊ทผ,์ฐธ์™ธ,์ˆ˜๋ฐ•', ',', -3);

728x90