๐Ÿฌ MySQL

[SQL] ํŠน์ • ๋ฌธ์ž ํฌํ•จ or ๋ฏธํฌํ•จ ํ•จ์ˆ˜ ์ ์šฉ์ด ์•ˆ๋  ๋•Œ

xod22 2024. 12. 6. 15:50
728x90

ํŠน์ • ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜๋Š” ํ•จ์ˆ˜๊ฐ€ ์ ์šฉ์ด ์•ˆ๋˜๋Š” ์ผ€์ด์Šค๋ผ๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ๐Ÿค”
 
๋ฌธ์ œ : ํŠน์ • ์ปฌ๋Ÿผ๊ฐ’์ด ์–ธ๋”์Šค์ฝ”์–ด('_')๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.
๋‚˜์˜ ํ’€์ด๋ฒ• & ๋ฌธ์ œ์ƒํ™ฉ : WHERE ์ปฌ๋Ÿผ๋ช… NOT LIKE '%_%'๋ฅผ ์ ์šฉ & ์กฐ๊ฑด์— ๋งž๊ฒŒ ์ถœ๋ ฅ๋˜์ง€ ์•Š์•˜์Œ.
solution : sql์—์„œ '%', '_' ๊ฐ™์€ ํŠน์ˆ˜ ๋ฌธ์ž๋Š” ๊ฒ€์ƒ‰์ด ๋ถˆ๊ฐ€ํ•จ. ๋”ฐ๋ผ์„œ ํŠน์ˆ˜๋ฌธ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜(ESCAPE ํ•จ์ˆ˜ ์ ์šฉ)ํ•˜์—ฌ ๊ฒ€์ƒ‰์„ ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค.

SELECT *
FROM ํ…Œ์ด๋ธ”๋ช…
WHERE ์ปฌ๋Ÿผ๋ช… NOT LIKE '%\_%' ESCAPE '\'

 
์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ ESCAPE(์ด์Šค์ผ€์ดํ”„) ๋ฌธ์ž๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€,
ESCAPE ๋ฌธ์ž๋ฅผ ์ง€์ •ํ•œ ํ›„, (์—ฌ๊ธฐ์„œ๋Š” \)
๊ฒ€์ƒ‰ํ•˜๊ณ ์ž ํ•˜๋Š” ํŠน์ˆ˜๋ฌธ์ž ์•ž์— ESCAPE๋กœ ์ง€์ •ํ•œ ๋ฌธ์ž \ ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋’ค์— ์˜ค๋Š” ๋ฌธ์ž๋ฅผ ํŠน์ˆ˜๋ฌธ์ž(%)๊ฐ€ ์•„๋‹Œ ์ผ๋ฐ˜ ๋ฌธ์ž %๋กœ ์ธ์‹ํ•˜๊ฒŒ ๋˜์–ด ์˜ค๋ฅ˜ ์—†์ด ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

728x90