๋ชฉ๋กmysql (28)

YS's develop story

MySQL ์‹œ๊ฐ„์ฐจ์ด ๊ณ„์‚ฐํ•˜๊ธฐ (TIMESTAMPDIFF ํ•จ์ˆ˜)

๐Ÿฅ MySQL ์‹œ๊ฐ„ ์ฐจ์ด ๊ณ„์‚ฐํ•˜๊ธฐ (TIMESTAMPDIFF ํ•จ์ˆ˜) โŒ› Problem ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋ฉด ์‹œ๊ฐ„ ์ฐจ์ด๋ฅผ ํ™œ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์˜ˆ์•ฝ์‹œ๊ฐ„ 30๋ถ„ ์ „์—๋Š” ์˜ˆ์•ฝ์„ ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ๋ง‰์•„์•ผ ํ•œ๋‹ค๊ฑฐ๋‚˜ ํŠน์ • ์ด๋ฒคํŠธ์ผ์ด ํ˜„์žฌ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ ๋‚จ์•˜๋Š”์ง€ ๋“ฑ๋“ฑ์˜ ๊ฒฝ์šฐ๊ฐ€ ์กด์žฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ป๊ฒŒ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ• ๊นŒ์š”? ๐Ÿ˜• ๐Ÿ“œ Solution TIMESTAMPDIFF๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋งค์šฐ ์‰ฝ๊ฒŒ ์‹œ๊ฐ„ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SELECT TIMESTAMPDIFF(HOUR,'2021-08-22 11:00','2021-08-22 14:00') AS dayCount; SELECT TIMESTAMPDIFF(์‹œ๊ฐ„ ๋‹จ์œ„, '๋‚ ์งœ 1', '๋‚ ์งœ 2') AS ์ด๋ฆ„; ์œ„์™€ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด์„œ ..

Database/MySQL 2021. 8. 23. 08:47
ํŠธ๋žœ์žญ์…˜์˜ ์˜๋ฏธ ๋ฐ Node MySQL Transactions ์ ์šฉํ•ด๋ณด๊ธฐ

ํŠธ๋žœ์žญ์…˜์˜ ์˜๋ฏธ ๋ฐ Node MySQL Transactions ์ ์šฉํ•ด๋ณด๊ธฐ 3ํ•™๋…„ ์ „๊ณต ํ•„์ˆ˜๊ณผ๋ชฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค.. ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฐœ๋…์ธ Transactions์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค transaction์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—ฐ์†๋œ ์ฟผ๋ฆฌ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ ํ•˜๋‚˜์˜ ์ž‘์—…์ฒ˜๋Ÿผ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. SQL standard๋Š” SQL ๋ฌธ์ด ์‹คํ–‰๋  ๋•Œ ํŠธ๋žœ์žญ์…˜์ด ์•”์‹œ์ ์œผ๋กœ ์‹œ์ž‘๋˜๋„๋ก ์ง€์ •ํ•ด์ค๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์€ ์•„๋ž˜์˜ ์š”์†Œ ์ค‘ ํ•˜๋‚˜์˜ ์ƒํƒœ๋กœ ๋๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. Commit work ํŠธ๋žœ์žญ์…˜์ด ์‹œ์ž‘๋ถ€ํ„ฐ ๋๋‚  ๋•Œ ๋•Œ๊นŒ์ง€ ์ˆ˜ํ–‰๋˜์—ˆ๋˜ ๋ชจ๋“  ์ฟผ๋ฆฌ๋ฌธ๋“ค์˜ ์ž‘์—…์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜๊ตฌ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ Rollback work ํŠธ๋žœ์žญ์…˜์ด ์‹œ์ž‘๋ถ€ํ„ฐ ๋๋‚  ๋•Œ๊นŒ์ง€ ์ˆ˜ํ–‰๋˜์—ˆ๋˜ ์ž‘์—…๋“ค์„ ๋ชจ๋‘ ์ทจ์†Œํ•˜๋Š” ๊ฒƒ ํŠธ๋žœ์žญ์…˜์˜ ์›์ž์„ฑ ์™„์ „ํžˆ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ (Commit) ๋ฐœ์ƒํ•˜์ง€ ์•Š..

Database 2021. 4. 10. 09:48