🧚 잠깐만요! Beekeeper Studio는 빠르고 현대적인 오픈 소스 데이터베이스 GUI예요 다운로드
2026년 1월 14일 작성자: Matthew Rathbone

날짜 형식 지정은 날짜를 03/15/2026이나 Thursday, January 15처럼 원하는 레이아웃의 텍스트로 바꾸는 작업이에요. 데이터베이스마다 이를 위한 함수가 따로 있으며, 예제에서는 PostgreSQL, MySQL, SQLite, SQL Server를 다뤄요.

SQL에서 날짜 형식을 지정하는 방법

함수에 날짜와 형식 문자열을 전달하세요. 형식 문자열 안의 코드는 날짜의 각 부분을 나타내고, 나머지는 그대로 복사돼요. SQLite에서는 strftime() 함수를 쓰며, 코드는 %로 시작해요:

strftime(format, date)
SELECT strftime('%m/%d/%Y', '2026-03-15');
-- Output: 03/15/2026

SELECT strftime('%I:%M %p', '2026-03-15 14:30:00');
-- Output: 02:30 PM

컬럼에 적용하면 같은 날짜를 필요한 만큼 다양한 레이아웃으로 출력할 수 있어요:

-- Input: orders
-- order_id | order_date
-- ---------+--------------------
-- 1        | 2026-01-15 09:42:00
-- 2        | 2026-03-02 16:05:00

SELECT
  order_date,
  strftime('%Y-%m-%d', order_date) AS iso_date,
  strftime('%m/%d/%Y', order_date) AS us_date,
  strftime('%d/%m/%Y', order_date) AS european_date
FROM orders;

-- Output:
-- order_date          | iso_date   | us_date    | european_date
-- --------------------+------------+------------+--------------
-- 2026-01-15 09:42:00 | 2026-01-15 | 01/15/2026 | 15/01/2026
-- 2026-03-02 16:05:00 | 2026-03-02 | 03/02/2026 | 02/03/2026

가장 자주 쓰는 코드와 2026-03-15 14:30:45에 대해 각 코드가 반환하는 값이에요:

코드 의미 예시
%Y 4자리 연도 2026
%m 월 (01-12) 03
%d 일 (01-31) 15
%H 시, 24시간제 (00-23) 14
%I 시, 12시간제 (01-12) 02
%p AM 또는 PM PM
%M 분 (00-59) 30
%S 초 (00-59) 45
%w 요일 (0-6, 일요일이 0) 0

알아 둘 규칙

  • SQLite에는 요일이나 월 이름을 위한 코드가 없어요. %a나 %B 같은 코드를 쓰면 strftime()이 NULL을 반환해요. 대신 CASE로 %w나 %m을 이름에 매핑하세요(아래 요일 섹션 참고).

  • 결과는 텍스트예요. 형식이 지정된 날짜를 비교하거나 정렬하면 문자열로 비교되기 때문에, 연도가 맨 앞에 올 때만 날짜 순서와 일치해요:

-- Input: sales
-- id | sale_date  | amount
-- ---+------------+-------
-- 1  | 2025-11-20 | 89.0
-- 2  | 2026-01-08 | 120.0
-- 3  | 2026-03-04 | 64.5

-- Wrong: '11/2025' > '02/2026' is true, because '1' > '0'
SELECT * FROM sales
WHERE strftime('%m/%Y', sale_date) > '02/2026';

-- Output:
-- id | sale_date  | amount
-- ---+------------+-------
-- 1  | 2025-11-20 | 89.0
-- 3  | 2026-03-04 | 64.5

-- Right: put the year first
SELECT * FROM sales
WHERE strftime('%Y-%m', sale_date) > '2026-02';

-- Output:
-- id | sale_date  | amount
-- ---+------------+-------
-- 3  | 2026-03-04 | 64.5
  • NULL을 넣으면 NULL이 나와요. strftime('%Y-%m-%d', NULL)은 NULL을 반환해요. 'No date'처럼 다른 값을 표시하려면 COALESCE()로 감싸세요.
  • 필터링은 날짜로, 형식 지정은 표시용으로만 하세요. WHERE order_date >= '2026-01-01' AND order_date < '2027-01-01'은 WHERE strftime('%Y', order_date) = '2026'과 같은 행을 반환하지만, order_date의 인덱스를 사용할 수 있는 건 앞의 쿼리뿐이에요.

다른 문법

PostgreSQL, MySQL, SQL Server는 각각 고유한 함수와 코드를 사용해요:

-- PostgreSQL: TO_CHAR(value, pattern)
-- (FM stops it padding the day name to 9 characters)
SELECT TO_CHAR(TIMESTAMP '2026-01-15 09:42:00', 'FMDay, MM/DD/YYYY HH24:MI');
-- Output: Thursday, 01/15/2026 09:42

-- MySQL: DATE_FORMAT(value, pattern)
-- (%i is the minute; %M would be the month name)
SELECT DATE_FORMAT('2026-01-15 09:42:00', '%W, %m/%d/%Y %H:%i');
-- Output: Thursday, 01/15/2026 09:42

-- SQL Server: FORMAT(value, pattern)
-- (MM is the month, mm the minute)
SELECT FORMAT(CAST('2026-01-15 09:42:00' AS datetime2), 'dddd, MM/dd/yyyy HH:mm');
-- Output: Thursday, 01/15/2026 09:42

-- Older SQL Server code uses CONVERT with a style number (101 is mm/dd/yyyy)
SELECT CONVERT(VARCHAR(10), CAST('2026-01-15' AS date), 101);
-- Output: 01/15/2026

날짜 형식은 언제 지정해야 할까요?

날짜를 텍스트로 표시하거나 그룹화해야 할 때 형식을 지정하세요. 대부분의 용도는 다음 네 가지 중 하나에 해당해요.

표준 레이아웃으로 날짜 표시하기

파일과 API에는 ISO 8601(YYYY-MM-DD)을, 미국 독자에게는 MM/DD/YYYY를, 대부분의 유럽 지역에는 DD/MM/YYYY를 사용하세요. 날짜만 필요할 때 형식을 지정하면 시간 부분도 제거돼요.

월이나 연도별로 행 그룹화하기

연도는 %Y, 월은 %Y-%m처럼 필요한 날짜 부분만 추출한 뒤, 그 결과로 그룹화하면 연도별 또는 월별 합계를 구할 수 있어요.

읽기 쉬운 날짜 만들기

레이블, 알림, 이메일에는 코드와 단어를 섞어 쓰세요. “03/16 at 02:30 PM”이 “2026-03-16 14:30:00”보다 읽기 쉬워요.

요일 다루기

%w는 요일을 0(일요일)부터 6(토요일)까지의 숫자로 반환해요. 이 값으로 필터링해 평일이나 주말을 찾거나, CASE로 요일 이름에 매핑하세요.

날짜 형식 지정 실전 예제

내보내기 데이터에 ISO 8601 시각 찍기

API가 2026-03-15T08:05:12Z 같은 타임스탬프를 요구해요. audit_log의 시각은 UTC로 저장되어 있으니, 코드 앞뒤에 T와 Z를 넣으세요(SQLite):

-- Input: audit_log
-- id | action | logged_at
-- ---+--------+--------------------
-- 1  | login  | 2026-03-15 08:05:12
-- 2  | export | 2026-03-15 14:30:45
-- 3  | logout | 2026-03-15 17:58:03

SELECT
  id,
  action,
  strftime('%Y-%m-%dT%H:%M:%SZ', logged_at) AS logged_at_iso
FROM audit_log;

-- Output:
-- id | action | logged_at_iso
-- ---+--------+---------------------
-- 1  | login  | 2026-03-15T08:05:12Z
-- 2  | export | 2026-03-15T14:30:45Z
-- 3  | logout | 2026-03-15T17:58:03Z

월별 가입자 수 세기

사용자를 가입한 월별로 그룹화해요(PostgreSQL). YYYY-MM을 쓰면 월이 날짜 순서대로 유지돼요:

-- Input: users
-- id | name       | signup_date
-- ---+------------+------------
-- 1  | Ana Lima   | 2026-01-08
-- 2  | Ben Okafor | 2026-01-27
-- 3  | Chloe Park | 2026-02-14
-- 4  | Dev Mehta  | 2026-03-03
-- 5  | Elle Novak | 2026-03-30

SELECT
  TO_CHAR(signup_date, 'YYYY-MM') AS month,
  COUNT(*) AS signups
FROM users
GROUP BY TO_CHAR(signup_date, 'YYYY-MM')
ORDER BY month;

-- Output:
-- month   | signups
-- --------+--------
-- 2026-01 | 2
-- 2026-02 | 1
-- 2026-03 | 2

예약 확인 메시지 작성하기

확인 메시지에 요일과 월을 글자로 표시해요(SQL Server):

-- Input: bookings
-- guest_name  | booking_time
-- ------------+--------------------
-- Priya Patel | 2026-03-16 14:30:00
-- Liam Murphy | 2026-03-18 09:15:00

SELECT
  guest_name,
  FORMAT(booking_time, 'dddd, MMMM d') + ' at ' + FORMAT(booking_time, 'h:mm tt') AS confirmation
FROM bookings;

-- Output:
-- guest_name  | confirmation
-- ------------+-------------------------------
-- Priya Patel | Monday, March 16 at 2:30 PM
-- Liam Murphy | Wednesday, March 18 at 9:15 AM

가장 바쁜 요일 찾기

주문이 들어온 요일 이름별로 주문 수를 세요(MySQL):

-- Input: orders
-- order_id | order_date
-- ---------+--------------------
-- 1        | 2026-03-07 10:12:00
-- 2        | 2026-03-09 16:40:00
-- 3        | 2026-03-14 11:05:00
-- 4        | 2026-03-16 09:20:00
-- 5        | 2026-03-21 13:45:00

SELECT
  DATE_FORMAT(order_date, '%W') AS weekday,
  COUNT(*) AS order_count
FROM orders
GROUP BY weekday
ORDER BY order_count DESC;

-- Output:
-- weekday  | order_count
-- ---------+------------
-- Saturday | 3
-- Monday   | 2

날짜 형식 지정에 대해 더 읽을거리

이 블로그의 글:

공식 문서:

Beekeeper Studio는 무료 오픈 소스 데이터베이스 GUI예요

지금까지 써 본 SQL 쿼리 & 에디터 도구 중 최고예요. 데이터베이스 관리에 필요한 모든 게 다 있어요. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio는 빠르고 직관적이며 사용하기 쉬워요. 다양한 데이터베이스를 지원하고 Windows, Mac, Linux에서 모두 잘 작동해요.

Beekeeper의 Linux 버전은 100% 모든 기능을 갖추고 있어요. 대충 만든 부분도, 빠진 기능도 없어요.

Beekeeper Studio 사용자 후기

★★★★★
"Beekeeper Studio가 기존 SQL 워크플로를 완전히 대체했어요. 빠르고 직관적이어서 데이터베이스 작업이 다시 즐거워졌어요."
— Alex K., 데이터베이스 개발자
★★★★★
"여러 데이터베이스 GUI를 써 봤지만, Beekeeper는 기능과 단순함 사이의 균형이 완벽해요. 그냥 잘 작동해요."
— Sarah M., 풀스택 엔지니어

SQL 워크플로를 개선할 준비가 되셨나요?

download 무료 다운로드