๋‚ ์งœ, ์‹œ๊ฐ„ ํ•จ์ˆ˜

2025. 2. 17. 22:39ยท๐Ÿ“ SQL/๐Ÿ“

DATE_FORMAT(date, format)

์ง€์ •๋œ ๋Œ€๋กœ ๋‚ ์งœ ํ˜•์‹ ์ง€์ •

 

format ๋ฌธ์ž์—ด์— ๋”ฐ๋ผ date ๊ฐ’์„ ํฌ๋งท

์ธ์ˆ˜ ํ•˜๋‚˜๋ผ๋„ NULL์ด๋ฉด NULL ๋ฆฌํ„ด

์ง€์ •์ž ๋ฌธ์ž ๋ณด๊ธฐ

-- 'Monday February 2025'
SELECT DATE_FORMAT('2025-02-17 23:28:30', '%W %M %Y')
-- '22:28:30'
SELECT DATE_FORMAT('2025-02-17 23:28:30', '%H:%i:%s')
-- '22 28 30 11:28:30 PM 23:28:30 30 1'
SELECT DATE_FORMAT('2025-02-17 23:28:30', '%H %k %I %r %T %S %w')

 

๋ฌธ์ œ์ 

์ธ๋ฑ์Šค ์‚ฌ์šฉ ๋ถˆ๊ฐ€ ๊ฐ€๋Šฅ์„ฑ : ํ•จ์ˆ˜๊ฐ€ ์ปฌ๋Ÿผ์— ์ ์šฉ๋˜๋ฏ€๋กœ ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์—†์Œ

ํƒ€์ž… ๋ณ€ํ™˜ ๋ฌธ์ œ : DATE_FORMAT()์€ ๋ฌธ์ž์—ด(VARCHAR)์„ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ, ๋‚ ์งœ ์—ฐ์‚ฐ ์‹œ ์ถ”๊ฐ€์ ์ธ ๋ณ€ํ™˜ ํ•„์š”

๋ถˆํ•„์š”ํ•œ ๋ฌธ์ž์—ด ์—ฐ์‚ฐ ๋น„์šฉ ๋ฐœ์ƒ : ์ˆซ์ž(๋‚ ์งœ)๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ • ํ•„์š” → ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•  ๊ฒฝ์šฐ ์ฟผ๋ฆฌ ์‹คํ–‰ ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ์Œ

 

๋Œ€์•ˆ

-- DATE() ํ•จ์ˆ˜ ์‚ฌ์šฉ : DATE(order_date)๋„ ์ปฌ๋Ÿผ์— ํ•จ์ˆ˜๊ฐ€ ์ ์šฉ๋˜๋ฏ€๋กœ ์ธ๋ฑ์Šค๋ฅผ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Œ
SELECT * FROM orders WHERE DATE(order_date) = '2024-03-14'

-- BETWEEN ๋˜๋Š” >= AND <= ์‚ฌ์šฉ (์ธ๋ฑ์Šค ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ๊ฐ€์žฅ ํšจ์œจ์ )
SELECT * FROM orders 
WHERE order_date BETWEEN '2024-03-14 00:00:00' AND '2024-03-14 23:59:59'

-- CAST() ๋˜๋Š” STR_TO_DATE() ํ™œ์šฉ (๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜ ์‹œ ์œ ์šฉ)
SELECT * FROM orders 
WHERE order_date BETWEEN CAST('2024-03-14' AS DATETIME) AND CAST('2024-03-14 23:59:59' AS DATETIME)

-- STR_TO_DATE()๋Š” ํ•จ์ˆ˜ ํ˜ธ์ถœ์ด๋ฏ€๋กœ ์ธ๋ฑ์Šค๋ฅผ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜์ง€ ๋ชปํ•  ๊ฐ€๋Šฅ์„ฑ
SELECT * FROM orders WHERE order_date = STR_TO_DATE('2024-03-14', '%Y-%m-%d')

** BETWEEN ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ ๋˜๋Š” CAST() ํ™œ์šฉ ์ถ”์ฒœ

 

 

 

YEAR(date), MONTH(date), DAYOFMONTH(date), HOUR(time), MINUTE(time), SECOND(time)

date ๋˜๋Š” time์ด NULL์ด๋ฉด NULL ๋ฆฌํ„ด

SELECT YEAR('2025-02-17') -- 2025, range:1000~9999 ๋˜๋Š” 0
SELECT MONTH('2025-02-17') -- 2, range:1~12
SELECT DAYOFMONTH('2025-02-17') -- 17, range:1~31 ๋˜๋Š” '2025-00-00'์ธ ๊ฒฝ์šฐ 0
SELECT HOUR('23:27:30') -- 23
SELECT HOUR('237:59:59') -- 237
SELECT MINUTE('2025-02-17 23:05:30') -- 5, range:0~59
SELECT SECOND('23:27:30') -- 30, range:0~59

 

 


ํŠน์ • ์—ฐ๋„๋‚˜ ์›”, ์ผ์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ ์กฐํšŒ

1. DATE_FORMAT(date, format)

SELECT * FROM TABLE_NAME
WHERE DATE_FORMAT(DATE, '%Y-%m-%d') = '2025-03-14'

DATE_FORMAT() ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด๋กœ ์ฒ˜๋ฆฌ → ํšจ์œจ์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค

 

2. YEAR(date) & MONTH(date) & DAYOFMONTH(date)

SELECT * FROM TABLE_NAME
WHERE YEAR(DATE) = 2025 AND MONTH(DATE) = 3 AND DAYOFMONTH(DATE) = 14

 

3.  BETWEEN ์—ฐ์‚ฐ์ž

SELECT * FROM TABLE_NAME
WHERE DATE BETWEEN '2025-01-01' AND '2025-03-30'

 

4. LIKE ์—ฐ์‚ฐ์ž

SELECT * FROM TABLE_NAME
WHERE DATE_FORMAT(DATE, '%Y-%m') LIKE '2025-03'

 

5. YEAR() + MONTH()

SELECT * FROM TABLE_NAME
WHERE CONCAT(YEAR(DATE), LPAD(MONTH(DATE), 2, '0')) = '202503'

LPAD(MONTH(DATE), 2, '0') : ์›”์„ ๋‘ ์ž๋ฆฌ๋กœ ๋งž์ถค

 

6. TIMESTAMP()

SELECT * FROM TABLE_NAME
WHERE DATE >= '2025-03-14 00:00:00' AND DATE < '2025-03-30 00:00:00'

 

7. STR_TO_DATE()

SELECT * FROM TABLE_NAME
WHERE STR_TO_DATE(DATE_FORMAT(DATE, '%Y-%m'), '%Y-%m') = '2025-03'
๋ฐ˜์‘ํ˜•

'๐Ÿ“ SQL > ๐Ÿ“' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

MAX()์™€ LIMIT 1  (0) 2025.02.22
LIKE / REGEXP  (0) 2025.02.20
JOIN  (0) 2025.02.19
GROUP BY  (0) 2025.02.19
์ˆซ์ž ํ•จ์ˆ˜  (0) 2025.02.18
'๐Ÿ“ SQL/๐Ÿ“' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • LIKE / REGEXP
  • JOIN
  • GROUP BY
  • ์ˆซ์ž ํ•จ์ˆ˜
leee
leee
  • leee
    LEE
    leee
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์นดํ…Œ๊ณ ๋ฆฌ
      • ๐Ÿ“ QA
        • Test
        • Lecture
      • ๐Ÿ“ SQL
        • ๐Ÿ“
      • ๐Ÿ“ Spring
        • Lecture
        • Error
      • ๐Ÿ“ Github
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๐Ÿ 
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    Postman
    AppConfig
    mysql_join
    api ํ…Œ์ŠคํŠธ
    mysql_์—ฐ์‚ฐ์ž
    mysql_๊ธฐ๊ฐ„_๊ฒ€์ƒ‰
    ์Šคํ”„๋ง ๊ฐ์ฒด์ง€ํ–ฅ
    MySQL
    mysql_๋ฐ์ดํ„ฐํƒ€์ž…๋ณ€ํ™˜
    COUNT(*)
    DI ์ปจํ…Œ์ด๋„ˆ
    ํฌ์ŠคํŠธ๋งจ
    API Testing
    SQL_Join
    API test
    mismatch
    ๊นƒํ—ˆ๋ธŒ ์ธํ…”๋ฆฌ์ œ์ด ์—ฐ๋™ ํ•ด์ œ
    ์ƒ์„ฑ์ž์ฃผ์ž…
    shift_์—ฐ์‚ฐ์ž
    API ์ž๋™ํ™” ํ…Œ์ŠคํŠธ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.5
leee
๋‚ ์งœ, ์‹œ๊ฐ„ ํ•จ์ˆ˜
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”