λͺ©μ°¨
1. λμ£Όμ : λ μ§ν¨μ(GETDATE, DATEADD, DATEPART, DATEDIFF) μκ°νκΈ°
- λ μ§ν¨μμ μ€μμ±
- λ μ§ν¨μμ μ’ λ₯
- λ μ§ν¨μμ νμ© μμ
2. λμ£Όμ : GETDATE ν¨μ μ¬μ©λ²κ³Ό μμ
- GETDATE ν¨μμ μν κ³Ό μλ―Έ
- GETDATE ν¨μμ λ¬Έλ²
- GETDATE ν¨μ μμ : νμ¬ λ μ§μ μκ° μΆλ ₯νκΈ°
3. λμ£Όμ : DATEADD ν¨μ μ¬μ©λ²κ³Ό μμ
- DATEADD ν¨μμ μν κ³Ό μλ―Έ
- DATEADD ν¨μμ λ¬Έλ²
- DATEADD ν¨μ μμ : νΉμ λ μ§μ μΌμ κΈ°κ°μ λνκ±°λ λΉΌκΈ°
4. λμ£Όμ : DATEPART ν¨μ μ¬μ©λ²κ³Ό μμ
- DATEPART ν¨μμ μν κ³Ό μλ―Έ
- DATEPART ν¨μμ λ¬Έλ²
- DATEPART ν¨μ μμ : λ μ§μμ νΉμ λΆλΆλ§ μΆμΆνκΈ° (λ , μ, μΌ, μκ°, λΆ λ±)
5. λμ£Όμ : DATEDIFF ν¨μ μ¬μ©λ²κ³Ό μμ
- DATEDIFF ν¨μμ μν κ³Ό μλ―Έ
- DATEDIFF ν¨μμ λ¬Έλ²
- DATEDIFF ν¨μ μμ : λ λ μ§ κ°μ μ°¨μ΄ κ³μ°νκΈ° (μΌ, μ£Ό, μ, μ°λ λ±)
1. λμ£Όμ : λ μ§ν¨μ(GETDATE,DATEADD,DATEPART,DATEDIFF) μκ°νκΈ°
λ μ§μ μκ°μ λ€λ£¨λ νλ‘κ·Έλλ°μμ, λ μ§ ν¨μλ λ§€μ° μ€μν©λλ€. λ μ§ ν¨μλ₯Ό μ¬μ©νλ©΄ νμ¬ λ μ§μ μκ°μ κ°μ Έμ€κ±°λ, νΉμ λ μ§μ μΌμ κΈ°κ°μ μΆκ°νκ±°λ λΉΌκ±°λ, λ μ§μμ νΉμ λΆλΆλ§ μΆμΆνκ±°λ, λ λ μ§ κ°μ μ°¨μ΄λ₯Ό κ³μ°ν μ μμ΅λλ€.
λ μ§ ν¨μμ μ’ λ₯λ₯Ό μ΄ν΄λ³΄λ©΄ λ€μκ³Ό κ°μ΅λλ€:
- GETDATE: νμ¬ λ μ§μ μκ°μ κ°μ Έμ€λ ν¨μμ λλ€.
- DATEADD: νΉμ λ μ§μ μΌμ κΈ°κ°μ λνκ±°λ λΉΌλ ν¨μμ λλ€.
- DATEPART: λ μ§μμ νΉμ λΆλΆ(λ , μ, μΌ, μκ°, λΆ λ±)λ§ μΆμΆνλ ν¨μμ λλ€.
- DATEDIFF: λ λ μ§ κ°μ μ°¨μ΄(μΌ, μ£Ό, μ, μ°λ λ±)λ₯Ό κ³μ°νλ ν¨μμ λλ€.
μ΄λ¬ν λ μ§ ν¨μλ€μ λ μ§μ μκ°μ λ€λ£¨λ μμ μμ μ μ©νκ² νμ©λ μ μμ΅λλ€. λ€μμΌλ‘ κ° ν¨μμ νμ© μμλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
2. λμ£Όμ : GETDATE ν¨μ μ¬μ©λ²κ³Ό μμ
GETDATE ν¨μλ SQLμμ νμ¬ λ μ§μ μκ°μ κ°μ Έμ€λ ν¨μμ λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νλ©΄ νλ‘κ·Έλ¨μμ νμ¬ μκ°μ ν΄λΉνλ λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ μμ΅λλ€.
GETDATE ν¨μμ λ¬Έλ²
GETDATE ν¨μμ λ¬Έλ²μ λ€μκ³Ό κ°μ΅λλ€:
GETDATE()
GETDATE ν¨μ μμ : νμ¬ λ μ§μ μκ° μΆλ ₯νκΈ°
λ€μμ GETDATE ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§μ μκ°μ μΆλ ₯νλ μμ μ λλ€:
SELECT GETDATE() as CurrentDateTime;
μμ μ½λλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ΄ νμ¬ λ μ§μ μκ°μ΄ μΆλ ₯λ©λλ€:
CurrentDateTime
-------------------
2022-01-01 12:34:56
GETDATE ν¨μλ₯Ό μ¬μ©νλ©΄ νλ‘κ·Έλ¨μμ νμ¬ μκ°μ κ°μ Έμμ λ€μν μμ μ νμ©ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, νμ¬ λ μ§μ μκ°μ λ°μ΄ν°λ² μ΄μ€μ νΉμ ν μ΄λΈμ κΈ°λ‘νκ±°λ, νμ¬ μκ°μ ν΄λΉνλ λ°μ΄ν°λ₯Ό μ‘°ννλ λ±μ μμ μ μ μ©νκ² μ¬μ©ν μ μμ΅λλ€.
3. λμ£Όμ : DATEADD ν¨μ μ¬μ©λ²κ³Ό μμ
DATEADD ν¨μλ SQLμμ νΉμ λ μ§μ μΌμ κΈ°κ°μ λνκ±°λ λΉΌλ ν¨μμ λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νλ©΄ νΉμ λ μ§λ₯Ό κΈ°μ€μΌλ‘ μνλ λ§νΌ λ μ§λ₯Ό μ‘°μν μ μμ΅λλ€.
DATEADD ν¨μμ λ¬Έλ²
DATEADD ν¨μμ λ¬Έλ²μ λ€μκ³Ό κ°μ΅λλ€:
DATEADD(datepart, number, date)
datepart
: κΈ°κ°μ λ¨μλ₯Ό μ§μ ν©λλ€. μλ₯Ό λ€μ΄, 'year'λ μ°λλ₯Ό μλ―Ένκ³ , 'month'λ μμ μλ―Έν©λλ€.number
: κΈ°κ°μ λνκ±°λ λΉΌκ³ μ νλ κ°μ λλ€. μμλ₯Ό μ¬μ©νλ©΄ ν΄λΉ κΈ°κ°μ λνκ³ , μμλ₯Ό μ¬μ©νλ©΄ ν΄λΉ κΈ°κ°μ λΉΌκ² λ©λλ€.date
: κΈ°μ€μ΄ λλ λ μ§μ λλ€.
DATEADD ν¨μ μμ : νΉμ λ μ§μ μΌμ κΈ°κ°μ λνκΈ°
λ€μμ DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ νΉμ λ μ§μ μΌμ κΈ°κ°μ λνλ μμ μ λλ€:
DECLARE @StartDate DATETIME;
SET @StartDate = '2021-01-01';
SELECT DATEADD(day, 7, @StartDate) AS NewDate;
μμ μ½λλ₯Ό μ€ννλ©΄ μ
λ ₯ν κΈ°μ€ λ μ§(@StartDate
)μ 7μΌμ λν μλ‘μ΄ λ μ§κ° μΆλ ₯λ©λλ€:
NewDate
-------------------
2021-01-08
μ μμ μμλ day
λ₯Ό datepart
λ‘ μ§μ νμ¬ 7μΌμ @StartDate
μ λνλλ‘ νμμ΅λλ€. μ΄μ λ§μ°¬κ°μ§λ‘ year
, month
, hour
, minute
λ± λ€μν κΈ°κ° λ¨μλ₯Ό μ¬μ©νμ¬ λ μ§λ₯Ό μ‘°μν μ μμ΅λλ€.
4. λμ£Όμ : DATEPART ν¨μ μ¬μ©λ²κ³Ό μμ
DATEPART ν¨μλ SQLμμ λ μ§μ μκ°μ νΉμ λΆλΆμ μΆμΆνλ ν¨μμ λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μ μκ° κ°μμ μ°λ, μ, μΌ λ±μ νΉμ λΆλΆμ μΆμΆν μ μμ΅λλ€.
DATEPART ν¨μμ λ¬Έλ²
DATEPART ν¨μμ λ¬Έλ²μ λ€μκ³Ό κ°μ΅λλ€:
DATEPART(datepart, date)
datepart
: μΆμΆνκ³ μ νλ λΆλΆμ μ§μ ν©λλ€. μλ₯Ό λ€μ΄, 'year'λ μ°λλ₯Ό μλ―Ένκ³ , 'month'λ μμ μλ―Έν©λλ€.date
: μΆμΆνκ³ μ νλ λ μ§ κ°μ λλ€.
DATEPART ν¨μ μμ : λ μ§μ μκ°μμ νΉμ λΆλΆ μΆμΆνκΈ°
λ€μμ DATEPART ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μ μκ° κ°μμ νΉμ λΆλΆμ μΆμΆνλ μμ μ λλ€:
DECLARE @DateTime DATETIME;
SET @DateTime = GETDATE();
SELECT DATEPART(year, @DateTime) AS Year,
DATEPART(month, @DateTime) AS Month,
DATEPART(day, @DateTime) AS Day,
DATEPART(hour, @DateTime) AS Hour,
DATEPART(minute, @DateTime) AS Minute;
μμ μ½λλ₯Ό μ€ννλ©΄ νμ¬ λ μ§μ μκ°(GETDATE()
)μμ μ°λ, μ, μΌ, μκ°, λΆμ μΆμΆν κ²°κ³Όκ° μΆλ ₯λ©λλ€:
Year Month Day Hour Minute
---- ----- --- ---- ------
2022 1 1 12 34
μ μμ μμλ @DateTime
λ³μμ νμ¬ λ μ§μ μκ°(GETDATE()
)μ ν λΉνκ³ , DATEPART ν¨μλ₯Ό μ¬μ©νμ¬ ν΄λΉ κ°μ μΆμΆνμμ΅λλ€. μ΄μ κ°μ΄ DATEPART ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μ μκ° κ°μ νΉμ λΆλΆμ μΆμΆν μ μμ΅λλ€.
5. λμ£Όμ : DATEDIFF ν¨μ μ¬μ©λ²κ³Ό μμ
DATEDIFF ν¨μλ SQLμμ λ λ μ§ λλ λ μκ° μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°νλ ν¨μμ λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νμ¬ λ λ μ§ λλ λ μκ° κ° μ¬μ΄μ μ°λ, μ, μΌ λ±μ μ°¨μ΄λ₯Ό κ³μ°ν μ μμ΅λλ€.
DATEDIFF ν¨μμ λ¬Έλ²
DATEDIFF ν¨μμ λ¬Έλ²μ λ€μκ³Ό κ°μ΅λλ€:
DATEDIFF(datepart, startdate, enddate)
datepart
: κ³μ°νκ³ μ νλ μ°¨μ΄μ λ¨μλ₯Ό μ§μ ν©λλ€. μλ₯Ό λ€μ΄, 'year'λ μ°λ κ°μ μ°¨μ΄λ₯Ό μλ―Ένκ³ , 'month'λ μ κ°μ μ°¨μ΄λ₯Ό μλ―Έν©λλ€.startdate
: λΉκ΅ν 첫 λ²μ§Έ λ μ§ λλ μκ° κ°μ λλ€.enddate
: λΉκ΅ν λ λ²μ§Έ λ μ§ λλ μκ° κ°μ λλ€.
DATEDIFF ν¨μ μμ : λ λ μ§ κ°μ μΌ μ μ°¨μ΄ κ³μ°νκΈ°
λ€μμ DATEDIFF ν¨μλ₯Ό μ¬μ©νμ¬ λ λ μ§ κ°μ μΌ μ μ°¨μ΄λ₯Ό κ³μ°νλ μμ μ λλ€:
DECLARE @StartDate DATE;
DECLARE @EndDate DATE;
SET @StartDate = '2021-01-01';
SET @EndDate = '2021-01-10';
SELECT DATEDIFF(day, @StartDate, @EndDate) AS DayDifference;
μμ μ½λλ₯Ό μ€ννλ©΄ μ
λ ₯ν λ λ μ§(@StartDate
μ @EndDate
) μ¬μ΄μ μΌ μ μ°¨μ΄κ° μΆλ ₯λ©λλ€:
DayDifference
-------------
9
μ μμ μμλ day
λ₯Ό datepart
λ‘ μ§μ νμ¬ @StartDate
μ @EndDate
μ¬μ΄μ μΌ μ μ°¨μ΄λ₯Ό κ³μ°νμμ΅λλ€. μ΄μ λ§μ°¬κ°μ§λ‘ year
, month
, hour
, minute
λ± λ€μν λ¨μλ₯Ό μ¬μ©νμ¬ λ λ μ§ λλ λ μκ° κ° μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°ν μ μμ΅λλ€.
5. λμ£Όμ : DATEDIFF ν¨μ μ¬μ©λ²κ³Ό μμ
DATEDIFF ν¨μλ SQLμμ λ λ μ§ λλ λ μκ° μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°νλ ν¨μμ λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νμ¬ λ λ μ§ λλ λ μκ° κ° μ¬μ΄μ μ°λ, μ, μΌ λ±μ μ°¨μ΄λ₯Ό κ³μ°ν μ μμ΅λλ€.
DATEDIFF ν¨μμ λ¬Έλ²
DATEDIFF ν¨μμ λ¬Έλ²μ λ€μκ³Ό κ°μ΅λλ€:
DATEDIFF(datepart, startdate, enddate)
datepart
: κ³μ°νκ³ μ νλ μ°¨μ΄μ λ¨μλ₯Ό μ§μ ν©λλ€. μλ₯Ό λ€μ΄, 'year'λ μ°λ κ°μ μ°¨μ΄λ₯Ό μλ―Ένκ³ , 'month'λ μ κ°μ μ°¨μ΄λ₯Ό μλ―Έν©λλ€.startdate
: λΉκ΅ν 첫 λ²μ§Έ λ μ§ λλ μκ° κ°μ λλ€.enddate
: λΉκ΅ν λ λ²μ§Έ λ μ§ λλ μκ° κ°μ λλ€.
DATEDIFF ν¨μ μμ : λ λ μ§ κ°μ μΌ μ μ°¨μ΄ κ³μ°νκΈ°
λ€μμ DATEDIFF ν¨μλ₯Ό μ¬μ©νμ¬ λ λ μ§ κ°μ μΌ μ μ°¨μ΄λ₯Ό κ³μ°νλ μμ μ λλ€:
DECLARE @StartDate DATE;
DECLARE @EndDate DATE;
SET @StartDate = '2021-01-01';
SET @EndDate = '2021-01-10';
SELECT DATEDIFF(day, @StartDate, @EndDate) AS DayDifference;
μμ μ½λλ₯Ό μ€ννλ©΄ μ
λ ₯ν λ λ μ§(@StartDate
μ @EndDate
) μ¬μ΄μ μΌ μ μ°¨μ΄κ° μΆλ ₯λ©λλ€:
DayDifference
-------------
9
μ μμ μμλ day
λ₯Ό datepart
λ‘ μ§μ νμ¬ @StartDate
μ @EndDate
μ¬μ΄μ μΌ μ μ°¨μ΄λ₯Ό κ³μ°νμμ΅λλ€. μ΄μ λ§μ°¬κ°μ§λ‘ year
, month
, hour
, minute
λ± λ€μν λ¨μλ₯Ό μ¬μ©νμ¬ λ λ μ§ λλ λ μκ° κ° μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°ν μ μμ΅λλ€.
1. λμ£Όμ : λ μ§ν¨μ(GETDATE,DATEADD,DATEPART,DATEDIFF) μκ°νκΈ°
GETDATE ν¨μ
GETDATE ν¨μλ νμ¬ μμ€ν λ μ§μ μκ°μ λ°ννλ ν¨μμ λλ€. μ΄ ν¨μλ λ§μ΄ μ¬μ©λλ©°, μ£Όλ‘ νμ¬ λ μ§μ μκ°μ νμλ‘ ν λ μ¬μ©λ©λλ€.
SELECT GETDATE() AS CurrentDateTime;
μμ μ½λλ₯Ό μ€ννλ©΄ νμ¬ μμ€ν μ λ μ§μ μκ°μ΄ μΆλ ₯λ©λλ€.
DATEADD ν¨μ
DATEADD ν¨μλ μ£Όμ΄μ§ λ μ§ λλ μκ° κ°μ μΌμ ν μκ° κ°κ²©μ λνκ±°λ λΊ λ μ¬μ©λ©λλ€. μ΄ ν¨μλ νΉμ λ¨μ(λ , μ, μΌ, μκ°, λΆ, μ΄)λ₯Ό κΈ°μ€μΌλ‘ λ μ§ λλ μκ° κ°μ μ‘°μν μ μμ΅λλ€.
DECLARE @StartDate DATETIME;
SET @StartDate = '2021-01-01';
SELECT DATEADD(year, 1, @StartDate) AS NewDate;
μμ μ½λλ₯Ό μ€ννλ©΄ @StartDate
μμ 1λ
μ λν μλ‘μ΄ λ μ§ κ°μ΄ μΆλ ₯λ©λλ€.
DATEPART ν¨μ
DATEPART ν¨μλ μ£Όμ΄μ§ λ μ§ λλ μκ° κ°μμ νΉμ λ¨μ(λ , μ, μΌ, μκ°, λΆ, μ΄)μ κ°μ μΆμΆνλ ν¨μμ λλ€. μ΄ ν¨μλ νΉμ λ μ§ λλ μκ° κ°μ νΉμ μμλ₯Ό κ°μ Έμ¬ λ μ¬μ©λ©λλ€.
SELECT DATEPART(year, '2021-01-01') AS YearValue;
μμ μ½λλ₯Ό μ€ννλ©΄ '2021-01-01'
μ μ°λ κ°μΈ 2021μ΄ μΆλ ₯λ©λλ€.
DATEDIFF ν¨μ
DATEDIFF ν¨μλ λ λ μ§ λλ λ μκ° μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°νλ ν¨μμ λλ€. μ΄ ν¨μλ λ λ μ§ λλ λ μκ° κ° μ¬μ΄μ μ°λ, μ, μΌ λ±μ μ°¨μ΄λ₯Ό κ³μ°ν μ μμ΅λλ€.
DECLARE @StartDate DATE;
DECLARE @EndDate DATE;
SET @StartDate = '2021-01-01';
SET @EndDate = '2021-01-10';
SELECT DATEDIFF(day, @StartDate, @EndDate) AS DayDifference;
μμ μ½λλ₯Ό μ€ννλ©΄ @StartDate
μ @EndDate
μ¬μ΄μ μΌ μ μ°¨μ΄κ° μΆλ ₯λ©λλ€.
μμμ μ€λͺ ν GETDATE, DATEADD, DATEPART, DATEDIFF ν¨μλ SQLμμ μμ£Ό μ¬μ©λλ λ μ§ λ° μκ° κ΄λ ¨ ν¨μμ λλ€. μ΄ ν¨μλ€μ λ°μ΄ν°λ² μ΄μ€μμ λ μ§μ μκ°μ μ²λ¦¬νκ³ μ‘°μνλ λ° μ μ©νλ©°, λ€μν μ°μ°κ³Ό κ³μ°μ νμ©λ©λλ€.
- λ μ§ν¨μμ μ€μμ±
λ μ§ ν¨μλ λ°μ΄ν°λ² μ΄μ€μμ λ μ§ λ° μκ° κ΄λ ¨ μμ μ μννλ λ° μ€μν μν μ ν©λλ€. λ°μ΄ν°λ² μ΄μ€μμ λ μ§μ μκ°μ λ§μ μμ μ μ¬μ©λλ μ€μν μμμ΄λ©°, λ μ§ ν¨μλ μ΄λ¬ν μμ μ μννκΈ° μν΄ νμμ μ λλ€. λ€μμ λ μ§ ν¨μμ μ€μμ±μ μ€λͺ νλ λͺ κ°μ§ μ΄μ μ λλ€:
1. λ°μ΄ν° λΆμ
λ μ§ ν¨μλ λ°μ΄ν° λΆμμ μνν λ λ§€μ° μ μ©ν©λλ€. λ°μ΄ν°λ² μ΄μ€μμ λ μ§μ μκ° κ°μ μ£Όλ¬Έ λ μ§, μ¬μ©μ λ±λ‘μΌ, μ΄λ²€νΈ λ°μ μκ° λ±κ³Ό κ°μ μ€μν μ 보λ₯Ό λ΄κ³ μμ μ μμ΅λλ€. μ΄λ¬ν μ 보λ₯Ό νμ©νμ¬ λ°μ΄ν°λ₯Ό λΆμνκ³ ν¨ν΄μ μλ³νλ λ°μλ λ μ§ ν¨μκ° νμν©λλ€. μλ₯Ό λ€μ΄, νΉμ κΈ°κ° λμμ λ§€μΆ μ‘μ κ³μ°νκ±°λ, νΉμ μμ μ¬μ©μ λ±λ‘ μλ₯Ό νμΈνλ λ±μ μμ μ μνν μ μμ΅λλ€.
2. λ°μ΄ν° νν°λ§
λ°μ΄ν°λ² μ΄μ€μμ νΉμ μκ° λ²μ λ΄μ λ°μ΄ν°λ₯Ό νν°λ§νλ μμ μ λ§€μ° μΌλ°μ μ λλ€. μλ₯Ό λ€μ΄, νΉμ λ μ§ μ΄νμ μμ±λ μ£Όλ¬Έ λͺ©λ‘μ μ‘°ννκ±°λ, νΉμ μμ λ±λ‘λ μ¬μ©μλ§ νν°λ§νλ λ±μ μμ μ μνν΄μΌ ν μ μμ΅λλ€. μ΄λ¬ν μμ μλ λ μ§ ν¨μκ° νμνλ©°, λ μ§ ν¨μλ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μνλ 쑰건μ λ§κ² νν°λ§ν μ μμ΅λλ€.
3. λ μ§ κ³μ° λ° μ‘°μ
λ°μ΄ν°λ² μ΄μ€μμλ λ μ§μ μκ° κ°μ κ³μ°νκ³ μ‘°μν΄μΌ νλ κ²½μ°κ° λ§μ΅λλ€. μλ₯Ό λ€μ΄, νΉμ κΈ°κ° μ΄νμ λ μ§λ₯Ό κ³μ°νκ±°λ, νΉμ λ μ§μ μμΌμ νμΈνλ λ±μ μμ μ μνν΄μΌ ν μ μμ΅λλ€. μ΄λ¬ν κ³μ° λ° μ‘°μ μμ μλ DATEADD, DATEPART, DATEDIFFμ κ°μ λ μ§ ν¨μκ° νμνλ©°, μ΄λ¬ν ν¨μλ₯Ό μ¬μ©νμ¬ μνλ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.
4. λ°μ΄ν° μ λ ¬
λ°μ΄ν°λ² μ΄μ€μμλ κ²°κ³Όλ₯Ό νΉμ λ μ§ λλ μκ°μ λ°λΌ μ λ ¬ν΄μΌ νλ κ²½μ°κ° λ§μ΅λλ€. μλ₯Ό λ€μ΄, μ£Όλ¬Έ λ μ§μ λ°λΌ μ£Όλ¬Έ λͺ©λ‘μ μ λ ¬νκ±°λ, μ¬μ©μ λ±λ‘μΌμ λ°λΌ μ¬μ©μ λͺ©λ‘μ μ λ ¬νλ λ±μ μμ μ μνν΄μΌ ν μ μμ΅λλ€. μ΄λ¬ν μμ μλ λ μ§ ν¨μκ° νμνλ©°, λ μ§ ν¨μλ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό μνλ λ°©μμΌλ‘ μ λ ¬ν μ μμ΅λλ€.
μ’ ν©μ μΌλ‘, λ°μ΄ν°λ² μ΄μ€μμ λ μ§μ μκ°μ λ§μ μμ μ νμν μ€μν μμμ λλ€. λ μ§ ν¨μλ μ΄λ¬ν μμ μ μννκΈ° μν΄ νμμ μ΄λ©°, λ°μ΄ν° λΆμ, λ°μ΄ν° νν°λ§, λ μ§ κ³μ° λ° μ‘°μ, λ°μ΄ν° μ λ ¬κ³Ό κ°μ λ€μν μμ μ νμ©λ©λλ€. μ΄λ¬ν ν¨μλ€μ νμ΅νκ³ μμ©ν μ μλ€λ©΄ λ°μ΄ν°λ² μ΄μ€μμ λ ν¨κ³Όμ μΈ μμ μ μνν μ μμ κ²μ λλ€.
- λ μ§ν¨μμ μ’ λ₯
λ μ§ ν¨μλ λ°μ΄ν°λ² μ΄μ€μμ λ μ§μ μκ°μ λ€λ£¨κ³ κ³μ°νλ λ°μ μ¬μ©λλ ν¨μλ€μ μ§ν©μ λλ€. λ€μν μ’ λ₯μ λ μ§ ν¨μκ° μμΌλ©°, κ° ν¨μλ νΉμ ν λͺ©μ μ λ§κ² μ¬μ©λ©λλ€. μ¬λ¬ μ’ λ₯μ λ μ§ ν¨μλ€μ λ€μκ³Ό κ°μ΅λλ€:
1. GETDATE
GETDATE ν¨μλ νμ¬ μμ€ν λ μ§μ μκ°μ λ°ννλ ν¨μμ λλ€. μ΄ ν¨μλ λ§μ΄ μ¬μ©λλ©°, μ£Όλ‘ νμ¬ λ μ§μ μκ°μ νμλ‘ ν λ μ¬μ©λ©λλ€. GETDATE ν¨μμ μ¬μ© μλ λ€μκ³Ό κ°μ΅λλ€:
SELECT GETDATE() AS CurrentDateTime;
2. DATEADD
DATEADD ν¨μλ μ£Όμ΄μ§ λ μ§ λλ μκ° κ°μ μΌμ ν μκ° κ°κ²©μ λνκ±°λ λΊ λ μ¬μ©λ©λλ€. μ΄ ν¨μλ νΉμ λ¨μ(λ , μ, μΌ, μκ°, λΆ, μ΄)λ₯Ό κΈ°μ€μΌλ‘ λ μ§ λλ μκ° κ°μ μ‘°μν μ μμ΅λλ€. DATEADD ν¨μμ μ¬μ© μλ λ€μκ³Ό κ°μ΅λλ€:
DECLARE @StartDate DATETIME;
SET @StartDate = '2021-01-01';
SELECT DATEADD(year, 1, @StartDate) AS NewDate;
3. DATEPART
DATEPART ν¨μλ μ£Όμ΄μ§ λ μ§ λλ μκ° κ°μμ νΉμ λ¨μ(λ , μ, μΌ, μκ°, λΆ, μ΄)μ κ°μ μΆμΆνλ ν¨μμ λλ€. μ΄ ν¨μλ νΉμ λ μ§ λλ μκ° κ°μ νΉμ μμλ₯Ό κ°μ Έμ¬ λ μ¬μ©λ©λλ€. DATEPART ν¨μμ μ¬μ© μλ λ€μκ³Ό κ°μ΅λλ€:
SELECT DATEPART(year, '2021-01-01') AS YearValue;
4. DATEDIFF
DATEDIFF ν¨μλ λ λ μ§ λλ λ μκ° μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°νλ ν¨μμ λλ€. μ΄ ν¨μλ λ λ μ§ λλ λ μκ° κ° μ¬μ΄μ μ°λ, μ, μΌ λ±μ μ°¨μ΄λ₯Ό κ³μ°ν μ μμ΅λλ€. DATEDIFF ν¨μμ μ¬μ© μλ λ€μκ³Ό κ°μ΅λλ€:
DECLARE @StartDate DATE;
DECLARE @EndDate DATE;
SET @StartDate = '2021-01-01';
SET @EndDate = '2021-01-10';
SELECT DATEDIFF(day, @StartDate, @EndDate) AS DayDifference;
μμμ μ€λͺ ν GETDATE, DATEADD, DATEPART, DATEDIFF ν¨μλ SQLμμ μμ£Ό μ¬μ©λλ λ μ§ λ° μκ° κ΄λ ¨ ν¨μμ λλ€. μ΄λ¬ν ν¨μλ€μ λ°μ΄ν°λ² μ΄μ€μμ λ μ§μ μκ°μ μ²λ¦¬νκ³ μ‘°μνλ λ° μ μ©νλ©°, λ€μν μ°μ°κ³Ό κ³μ°μ νμ©λ©λλ€.
- λ μ§ν¨μμ νμ© μμ
λ μ§ ν¨μλ λ°μ΄ν°λ² μ΄μ€μμ λ€μν μμ μ μννλ λ°μ νμ©λ μ μμ΅λλ€. λ€μμ λͺ κ°μ§ λνμ μΈ μμλ₯Ό ν΅ν΄ λ μ§ ν¨μμ νμ© λ°©λ²μ μ€λͺ νκ² μ΅λλ€:
1. λ°μ΄ν° νν°λ§
λ μ§ ν¨μλ₯Ό μ¬μ©νμ¬ νΉμ κΈ°κ° λ΄μ λ°μ΄ν°λ₯Ό νν°λ§ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, νΉμ λ μ§ μ΄νμ μμ±λ μ£Όλ¬Έ λͺ©λ‘μ μ‘°ννλ €λ©΄ GETDATE ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§λ₯Ό κ°μ Έμ¨ λ€μ, μ΄λ₯Ό κΈ°μ€μΌλ‘ μ£Όλ¬Έ λ μ§λ₯Ό νν°λ§ν μ μμ΅λλ€.
SELECT *
FROM Orders
WHERE OrderDate > GETDATE();
2. λ μ§ κ³μ° λ° μ‘°μ
λ μ§ ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§λ₯Ό κ³μ°νκ±°λ μ‘°μν μ μμ΅λλ€. μλ₯Ό λ€μ΄, DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ νΉμ λ μ§μ μΌμ ν μκ° κ°κ²©μ λν μ μμ΅λλ€. λ€μ μμ λ μ£Όλ¬Έ μΌμμ 7μΌμ λν κ²°κ³Όλ₯Ό λ°νν©λλ€.
SELECT DATEADD(day, 7, OrderDate) AS NewOrderDate
FROM Orders;
3. λ°μ΄ν° μ λ ¬
λ μ§ ν¨μλ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό νΉμ λ μ§ λλ μκ° κΈ°μ€μΌλ‘ μ λ ¬ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, λ±λ‘μΌμλ³λ‘ μ¬μ©μ λͺ©λ‘μ μ λ ¬νλ €λ©΄ ORDER BY μ μμ DATEPART ν¨μλ₯Ό μ¬μ©ν μ μμ΅λλ€.
SELECT *
FROM Users
ORDER BY DATEPART(year, RegistrationDate) DESC, DATEPART(month, RegistrationDate) DESC, DATEPART(day, RegistrationDate) DESC;
4. λ μ§ μ°¨μ΄ κ³μ°
DATEDIFF ν¨μλ₯Ό μ¬μ©νμ¬ λ λ μ§ λλ μκ° μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ£Όλ¬ΈμΌμμ λ°°μ‘μΌμ μ¬μ΄μ μΌμ μ°¨μ΄λ₯Ό κ³μ°νλ €λ©΄ λ€μκ³Ό κ°μ΄ DATEDIFF ν¨μλ₯Ό μ¬μ©ν μ μμ΅λλ€.
SELECT DATEDIFF(day, OrderDate, ShippedDate) AS DaysToShip
FROM Orders;
λ μ§ ν¨μμ νμ© μμλ λ€μν©λλ€. λ°μ΄ν° νν°λ§, λ μ§ κ³μ° λ° μ‘°μ, λ°μ΄ν° μ λ ¬, λ μ§ μ°¨μ΄ κ³μ° λ±μ νμ©νμ¬ λ°μ΄ν°λ² μ΄μ€ μμ μ λ³΄λ€ μ ννκ³ ν¨μ¨μ μΌλ‘ μνν μ μμ΅λλ€. λ μ§ ν¨μλ€μ μ μ°νκ² νμ©νμ¬ μνλ μμ μ μνν μ μμ΅λλ€.
- λ μ§ν¨μμ νμ© μμ
λ μ§ ν¨μλ λ°μ΄ν°λ² μ΄μ€μμ λ€μν μμ μ μννλ λ°μ νμ©λ μ μμ΅λλ€. λ€μμ λͺ κ°μ§ λνμ μΈ μμλ₯Ό ν΅ν΄ λ μ§ ν¨μμ νμ© λ°©λ²μ μ€λͺ νκ² μ΅λλ€:
1. λ°μ΄ν° νν°λ§
λ μ§ ν¨μλ₯Ό μ¬μ©νμ¬ νΉμ κΈ°κ° λ΄μ λ°μ΄ν°λ₯Ό νν°λ§ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, νΉμ λ μ§ μ΄νμ μμ±λ μ£Όλ¬Έ λͺ©λ‘μ μ‘°ννλ €λ©΄ GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§λ₯Ό κ°μ Έμ¨ λ€μ, μ΄λ₯Ό κΈ°μ€μΌλ‘ μ£Όλ¬Έ λ μ§λ₯Ό νν°λ§ν μ μμ΅λλ€.
SELECT *
FROM Orders
WHERE OrderDate > GETDATE();
μμ μμμμ GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§λ₯Ό κ°μ Έμ΅λλ€. μ΄λ₯Ό OrderDate
μ λΉκ΅νμ¬ μ£Όλ¬Έ λ μ§κ° νμ¬ λ μ§λ³΄λ€ λ―ΈλμΈ λ°μ΄ν°λ§μ κ°μ Έμ΅λλ€.
2. λ μ§ κ³μ° λ° μ‘°μ
λ μ§ ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§λ₯Ό κ³μ°νκ±°λ μ‘°μν μ μμ΅λλ€. μλ₯Ό λ€μ΄, DATEADD
ν¨μλ₯Ό μ¬μ©νμ¬ νΉμ λ μ§μ μΌμ ν μκ° κ°κ²©μ λν μ μμ΅λλ€. λ€μ μμ λ μ£Όλ¬Έ μΌμμ 7μΌμ λν κ²°κ³Όλ₯Ό λ°νν©λλ€.
SELECT DATEADD(day, 7, OrderDate) AS NewOrderDate
FROM Orders;
μμ μμμμ DATEADD
ν¨μλ₯Ό μ¬μ©νμ¬ OrderDate
μ 7μΌμ λν΄ μλ‘μ΄ μ£Όλ¬Έ λ μ§λ₯Ό κ³μ°ν©λλ€. day
λ₯Ό μ¬μ©νμ¬ μΌ μλ₯Ό κΈ°μ€μΌλ‘ κ³μ°ν©λλ€.
3. λ°μ΄ν° μ λ ¬
λ μ§ ν¨μλ₯Ό μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό νΉμ λ μ§ λλ μκ° κΈ°μ€μΌλ‘ μ λ ¬ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, λ±λ‘μΌμλ³λ‘ μ¬μ©μ λͺ©λ‘μ μ λ ¬νλ €λ©΄ ORDER BY
μ μμ DATEPART
ν¨μλ₯Ό μ¬μ©ν μ μμ΅λλ€.
SELECT *
FROM Users
ORDER BY DATEPART(year, RegistrationDate) DESC, DATEPART(month, RegistrationDate) DESC, DATEPART(day, RegistrationDate) DESC;
μμ μμμμλ DATEPART
ν¨μλ₯Ό μ¬μ©νμ¬ RegistrationDate
μ μ°λ, μ, μΌμ κΈ°μ€μΌλ‘ μ¬μ©μ λͺ©λ‘μ μ λ ¬ν©λλ€. DESC
ν€μλλ₯Ό μ¬μ©νμ¬ λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬ν©λλ€.
4. λ μ§ μ°¨μ΄ κ³μ°
DATEDIFF
ν¨μλ₯Ό μ¬μ©νμ¬ λ λ μ§ λλ μκ° μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ£Όλ¬ΈμΌμμ λ°°μ‘μΌμ μ¬μ΄μ μΌμ μ°¨μ΄λ₯Ό κ³μ°νλ €λ©΄ λ€μκ³Ό κ°μ΄ DATEDIFF
ν¨μλ₯Ό μ¬μ©ν μ μμ΅λλ€.
SELECT DATEDIFF(day, OrderDate, ShippedDate) AS DaysToShip
FROM Orders;
μμ μμμμλ DATEDIFF
ν¨μλ₯Ό μ¬μ©νμ¬ OrderDate
μ ShippedDate
μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°ν©λλ€. day
λ₯Ό μ¬μ©νμ¬ μΌ μμ μ°¨μ΄λ₯Ό κ³μ°ν©λλ€.
λ μ§ ν¨μμ νμ© μμλ λ€μν©λλ€. λ°μ΄ν° νν°λ§, λ μ§ κ³μ° λ° μ‘°μ, λ°μ΄ν° μ λ ¬, λ μ§ μ°¨μ΄ κ³μ° λ±μ νμ©νμ¬ λ°μ΄ν°λ² μ΄μ€ μμ μ λ³΄λ€ μ ννκ³ ν¨μ¨μ μΌλ‘ μνν μ μμ΅λλ€. λ μ§ ν¨μλ€μ μ μ°νκ² νμ©νμ¬ μνλ μμ μ μνν μ μμ΅λλ€.
2. λμ£Όμ : GETDATE ν¨μ μ¬μ©λ²κ³Ό μμ
GETDATE
ν¨μλ νμ¬ μμ€ν
λ μ§μ μκ°μ λ°ννλ λ°μ μ¬μ©λ©λλ€. μ΄ ν¨μλ μ£Όλ‘ λ°μ΄ν°λ² μ΄μ€μμ νμ¬ λ μ§μ μκ°μ νμλ‘ νλ μμ
μ νμ©λ©λλ€. λ€μμ GETDATE
ν¨μμ μ¬μ©λ²κ³Ό μμ μ λν μμΈν μ€λͺ
μ
λλ€.
2.1. GETDATE ν¨μ κ°μ
GETDATE
ν¨μλ νμ¬ μμ€ν
λ μ§μ μκ°μ λ°νν©λλ€. μ΄ ν¨μλ μμ€ν
μ νμ¬ λ μ§μ μκ°μ λ°μ΄ν°λ² μ΄μ€μ νμ€ νμμΌλ‘ λ°νν΄μ€λλ€. GETDATE
ν¨μλ λλΆλΆμ λ°μ΄ν°λ² μ΄μ€ μμ€ν
μμ μ§μλλ©°, μΌλ°μ μΌλ‘ SELECT
λ¬Έμ΄λ νν°λ§ 쑰건μμ μ¬μ©λ©λλ€.
2.2. GETDATE ν¨μμ μ¬μ©λ²
GETDATE
ν¨μλ μλμ κ°μ νμμΌλ‘ μ¬μ©ν μ μμ΅λλ€.
SELECT GETDATE() AS CurrentDateTime;
μμ μμ μμ GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§μ μκ°μ λ°νν©λλ€. AS
ν€μλλ₯Ό μ¬μ©νμ¬ λ°νλλ κ°μ CurrentDateTime
μ΄λΌλ λ³μΉμΌλ‘ μ§μ ν©λλ€.
2.3. GETDATE ν¨μ μμ
2.3.1. νμ¬ λ μ§μ μκ° κ°μ Έμ€κΈ°
SELECT GETDATE() AS CurrentDateTime;
μμ μμ μμλ GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§μ μκ°μ κ°μ Έμ΅λλ€. CurrentDateTime
μ΄λΌλ λ³μΉμΌλ‘ κ²°κ³Όλ₯Ό λ°νν©λλ€.
2.3.2. μ£Όλ¬Έ λͺ©λ‘μμ νμ¬ λ μ§ μ΄νμ μ£Όλ¬Έ μ‘°ννκΈ°
SELECT *
FROM Orders
WHERE OrderDate > GETDATE();
μμ μμ μμλ GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§λ₯Ό κ°μ Έμ΅λλ€. μ΄ν, OrderDate
μ λΉκ΅νμ¬ νμ¬ λ μ§ μ΄νμ μμ±λ μ£Όλ¬Έ λͺ©λ‘λ§μ μ‘°νν©λλ€.
2.4. GETDATE ν¨μ νμ© λ°©λ²
GETDATE
ν¨μλ λ°μ΄ν°λ² μ΄μ€μμ νμ¬ λ μ§μ μκ°μ νμλ‘ νλ λ€μν μμ
μ μ¬μ©λ μ μμ΅λλ€. μ£Όλ¬ΈμΌμ, λ±λ‘μΌμ, λ‘κ·ΈμΈ μκ° λ±κ³Ό νμ¬ λ μ§λ₯Ό λΉκ΅νκ±°λ κ³μ°νλ λ±μ μμ
μ νμ©ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, νΉμ λ μ§ μ΄νμ μμ±λ μ£Όλ¬Έ λͺ©λ‘μ μ‘°ννλ €λ©΄ WHERE
μ μμ OrderDate > GETDATE()
μ κ°μ΄ GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§μ λΉκ΅ν μ μμ΅λλ€.
λν, GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§μ μκ°μ κΈ°λ‘νκ±°λ λ°μ΄ν°μ μ ν¨μ± κ²μ¬μ νμ©ν μλ μμ΅λλ€. λ°μ΄ν°μ κ°±μ μκ°μ μΆμ νκ±°λ, μ ν¨κΈ°κ°μ΄ μ§λ λ°μ΄ν°λ₯Ό νν°λ§νλ λ±μ μ¬μ©ν μ μμ΅λλ€.
μμ μμμ ν¨κ» GETDATE
ν¨μλ₯Ό μ μ°νκ² νμ©νμ¬ μνλ λ°μ΄ν°λ² μ΄μ€ μμ
μ μνν μ μμ΅λλ€.
- GETDATE ν¨μμ μν κ³Ό μλ―Έ
GETDATE
ν¨μλ λ°μ΄ν°λ² μ΄μ€μμ νμ¬ μμ€ν
μ λ μ§μ μκ°μ κ°μ Έμ¬ λ μ¬μ©λλ ν¨μμ
λλ€. μ΄ ν¨μλ λ°μ΄ν°λ² μ΄μ€ μμ€ν
μμ νμ¬ μκ°μ μ 곡νλ―λ‘, λ€μν μμ
μμ νμ¬ λ μ§μ μκ°μ νμλ‘ ν λ μ¬μ©λ©λλ€. μλμμλ GETDATE
ν¨μμ μν κ³Ό μλ―Έμ λν΄ λ μμΈν μμλ³΄κ² μ΅λλ€.
1. νμ¬ λ μ§μ μκ° λ°ν
GETDATE
ν¨μλ κ°μ₯ μΌλ°μ μΌλ‘ νμ¬ λ μ§μ μκ°μ κ°μ Έμ¬ λ μ¬μ©λ©λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νλ©΄ λ°μ΄ν°λ² μ΄μ€ μμ€ν
μ νμ¬ λ μ§μ μκ°μ νμ€ νμμΌλ‘ λ°νλ°μ μ μμ΅λλ€. μλ₯Ό λ€μ΄, SELECT GETDATE();
μ κ°μ SQL λ¬Έμ μ€ννλ©΄ νμ¬ λ μ§μ μκ°μ΄ λ°νλ©λλ€.
2. λ°μ΄ν° νν°λ§
GETDATE
ν¨μλ λ°μ΄ν°λ² μ΄μ€μμ νΉμ κΈ°κ° λ΄μ λ°μ΄ν°λ₯Ό νν°λ§νλ λ°μλ μ¬μ©λ μ μμ΅λλ€. μλ₯Ό λ€μ΄, WHERE OrderDate > GETDATE();
μ κ°μ΄ 쿼리λ₯Ό μμ±νλ©΄ νμ¬ λ μ§λ₯Ό κΈ°μ€μΌλ‘ μ΄νμ μ£Όλ¬Έ λͺ©λ‘λ§μ κ°μ Έμ¬ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ νΉμ λ μ§ μ΄νμ μμ±λ λ°μ΄ν°λ₯Ό νν°λ§ν μ μμ΅λλ€.
3. λ°μ΄ν° μ λ ¬
GETDATE
ν¨μλ λ°μ΄ν°λ₯Ό νΉμ λ μ§ λλ μκ°μΌλ‘ μ λ ¬νλ λ°μλ νμ©λ μ μμ΅λλ€. μλ₯Ό λ€μ΄, λ‘κ·ΈμΈ κΈ°λ‘μ κ²½μ° κ°μ₯ μ΅κ·Όμ λ‘κ·ΈμΈ κΈ°λ‘μ μλ‘ μ¬λ¦¬κΈ° μν΄ ORDER BY LoginDate DESC
μ κ°μ ꡬ문μ μ¬μ©ν μ μμ΅λλ€. μ΄λ GETDATE
ν¨μλ₯Ό μ¬μ©νλ©΄ μ€μκ°μΌλ‘ νμ¬ λ μ§μ μκ°μ κ°μ Έμ μ λ ¬ν μ μμ΅λλ€.
4. λ μ§ κ³μ° λ° μ‘°μ
GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§λ₯Ό κ³μ°νκ±°λ μ‘°μνλ λ°μλ νμ©ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, DATEADD
ν¨μμ ν¨κ» μ¬μ©νμ¬ νΉμ λ μ§μ μΌμ ν μκ° κ°κ²©μ λν μ μμ΅λλ€. λλ DATEDIFF
ν¨μμ ν¨κ» μ¬μ©νμ¬ λ λ μ§ μ¬μ΄μ μ°¨μ΄λ₯Ό ꡬν μλ μμ΅λλ€. μ΄λ¬ν λ μ§ ν¨μλ€κ³Ό GETDATE
ν¨μλ₯Ό ν¨κ» μ¬μ©νμ¬ λ μ§ λ° μκ° κ³μ°μ νμ©ν μ μμ΅λλ€.
GETDATE
ν¨μλ λ°μ΄ν°λ² μ΄μ€μμ νμ¬ λ μ§μ μκ°μ κ°μ Έμ€λ λ°μ μ¬μ©λλ μ€μν ν¨μμ
λλ€. μ΄λ₯Ό νμ©νμ¬ λ°μ΄ν° νν°λ§, λ°μ΄ν° μ λ ¬, λ μ§ κ³μ° λ° μ‘°μ λ± λ€μν μμ
μ μνν μ μμ΅λλ€. λ°μ΄ν°λ² μ΄μ€ μμ
μ μ νμ±κ³Ό μ ν¨μ±μ μ μ§νκΈ° μν΄ GETDATE
ν¨μλ₯Ό μ μ ν νμ©νλ κ²μ΄ μ€μν©λλ€.
- GETDATE ν¨μμ λ¬Έλ²
GETDATE
ν¨μλ νμ¬ μμ€ν
μ λ μ§μ μκ°μ κ°μ Έμ¬ λ μ¬μ©λλ ν¨μμ
λλ€. μλμμλ GETDATE
ν¨μμ λ¬Έλ²μ λν΄ μμΈν μ€λͺ
νκ² μ΅λλ€.
1. λ¬Έλ²
GETDATE
ν¨μμ λ¬Έλ²μ λ€μκ³Ό κ°μ΅λλ€:
GETDATE()
2. μ€λͺ
GETDATE()
λ κ΄νΈλ‘ κ°μΈμ§ μλ¬΄λ° μΈμλ λ°μ§ μλ ν¨μμ λλ€.- μ΄ ν¨μλ λ°μ΄ν°λ² μ΄μ€μ νμ¬ μμ€ν λ μ§μ μκ°μ λ°νν©λλ€.
- λ°νλλ λ μ§μ μκ°μ λ°μ΄ν°λ² μ΄μ€ μμ€ν μ νμ€ νμμΌλ‘ μ 곡λ©λλ€.
3. μ¬μ© μμ
μλλ GETDATE
ν¨μμ μ¬μ© μμ μ
λλ€:
SELECT GETDATE() AS CurrentDateTime;
- μμ μμ μμλ
GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§μ μκ°μ κ°μ Έμ΅λλ€. AS
ν€μλλ₯Ό μ¬μ©νμ¬ λ°νλλ κ°μCurrentDateTime
μ΄λΌλ λ³μΉμΌλ‘ μ§μ ν©λλ€.- μ΄λ κ² νλ©΄
CurrentDateTime
μ΄λΌλ λ³μΉμΌλ‘ νμ¬ λ μ§μ μκ°μ΄ κ²°κ³Όμ νμλ©λλ€.
4. μ€ν κ²°κ³Ό
μμ μμ λ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ κ²°κ³Όκ° λ°νλ©λλ€:
CurrentDateTime
--------------------
2022-07-20 15:30:45
- μμ κ²°κ³Όμμλ
CurrentDateTime
μ΄μ 2022λ 7μ 20μΌ μ€ν 3μ 30λΆ 45μ΄μ νμ¬ λ μ§μ μκ°μ΄ νμλ©λλ€.
GETDATE
ν¨μμ λ¬Έλ²μ λ§€μ° κ°λ¨ν©λλ€. ν¨μλ₯Ό νΈμΆν λ μΈμλ₯Ό μ λ¬νμ§ μμΌλ©°, λ°νλλ κ°μ νμ¬ μμ€ν
μ λ μ§μ μκ°μ
λλ€. μ΄ ν¨μλ₯Ό μ μ°νκ² νμ©νμ¬ λ°μ΄ν°λ² μ΄μ€ μμ
μ νμν νμ¬ λ μ§μ μκ°μ μ μ ν νμ©ν μ μμ΅λλ€.
- GETDATE ν¨μ μμ : νμ¬ λ μ§μ μκ° μΆλ ₯νκΈ°
μλ μμ μμλ GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§μ μκ°μ μΆλ ₯νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
1. μμ
SELECT GETDATE() AS CurrentDateTime;
2. μ€λͺ
- μμ μμ λ
SELECT
λ¬Έμ μ¬μ©νμ¬GETDATE()
ν¨μλ₯Ό νΈμΆνμ¬ νμ¬ λ μ§μ μκ°μ κ°μ Έμ€λ κ²μ λλ€. AS
ν€μλλ₯Ό μ¬μ©νμ¬ λ°νλλ κ°μCurrentDateTime
μ΄λΌλ λ³μΉμΌλ‘ μ§μ ν©λλ€.- μ΄λ κ² νλ©΄ κ²°κ³Όμ
CurrentDateTime
μ΄λ‘ νμ¬ λ μ§μ μκ°μ΄ νμλ©λλ€.
3. μ€ν κ²°κ³Ό
μμ μμ λ₯Ό μ€ννλ©΄, μλ₯Ό λ€μ΄ νμ¬ λ μ§μ μκ°μ΄ 2022λ 7μ 20μΌ μ€ν 3μ 30λΆ 45μ΄μΈ κ²½μ° λ€μκ³Ό κ°μ κ²°κ³Όκ° λ°νλ©λλ€:
CurrentDateTime
--------------------
2022-07-20 15:30:45
- μμ κ²°κ³Όμμλ
CurrentDateTime
μ΄μ 2022λ 7μ 20μΌ μ€ν 3μ 30λΆ 45μ΄μ κ°μ νμ¬ λ μ§μ μκ°μ΄ νμλ©λλ€.
GETDATE
ν¨μλ₯Ό μ¬μ©νλ©΄ κ°λ¨νκ² νμ¬ λ μ§μ μκ°μ μΆλ ₯ν μ μμ΅λλ€. μ΄λ₯Ό νμ©νμ¬ λ°μ΄ν°λ² μ΄μ€ μμ
μ νμν νμ¬ λ μ§μ μκ°μ κ°μ ΈμμΌ νλ κ²½μ°, SELECT GETDATE() AS CurrentDateTime;
μ κ°μ ꡬ문μ μ¬μ©νμ¬ μ½κ² μΆλ ₯ν μ μμ΅λλ€.
GETDATE ν¨μ μμ : νμ¬ λ μ§μ μκ° μΆλ ₯νκΈ°
μλ μμ μμλ GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ μμ€ν
μ λ μ§μ μκ°μ κ°μ Έμ μΆλ ₯νλ λ°©λ²μ λν΄ μ€λͺ
ν©λλ€.
μμ
SELECT GETDATE() AS CurrentDateTime;
μ€λͺ
μμ μμ λ SELECT
λ¬Έμ μ¬μ©νμ¬ GETDATE()
ν¨μλ₯Ό νΈμΆνμ¬ νμ¬ λ μ§μ μκ°μ κ°μ Έμ€λ μμ μ
λλ€. AS
ν€μλλ₯Ό μ¬μ©νμ¬ κ²°κ³Όμ μ΄ μ΄λ¦μ CurrentDateTime
μΌλ‘ μ§μ νμμ΅λλ€.
μ€ν κ²°κ³Ό
μμ μμ λ₯Ό μ€νν κ²°κ³Όλ λ€μκ³Ό κ°μ΅λλ€:
CurrentDateTime
--------------------
2022-07-20 15:30:45
μμ κ²°κ³Όμμλ CurrentDateTime
μ΄μ 2022λ
7μ 20μΌ μ€ν 3μ 30λΆ 45μ΄μ κ°μ νμ¬ λ μ§μ μκ°μ΄ νμλ©λλ€.
GETDATE
ν¨μλ νμ¬ μμ€ν
μ λ μ§μ μκ°μ κ°νΈνκ² κ°μ Έμ¬ μ μλ ν¨μμ
λλ€. μμ μμ μμλ GETDATE
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§μ μκ°μ κ°μ Έμ CurrentDateTime
μ΄λΌλ μ΄λ‘ μΆλ ₯νμμ΅λλ€. μ΄λ₯Ό νμ©νμ¬ λ°μ΄ν°λ² μ΄μ€ μμ
μ νμν νμ¬ λ μ§μ μκ°μ μ μ νκ² νμ©ν μ μμ΅λλ€.
3. λμ£Όμ : DATEADD ν¨μ μ¬μ©λ²κ³Ό μμ
DATEADD ν¨μλ SQL Serverμμ λ μ§μ λν μ°μ°μ μνν λ μ¬μ©λλ ν¨μμ λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μ λν λ§μ λλ λΊμ μ°μ°μ μνν μ μμ΅λλ€. μ΄λ² μΉμ μμλ DATEADD ν¨μμ μ¬μ©λ²κ³Ό μμ μ λν΄ μμΈν μ€λͺ νκ² μ΅λλ€.
3.1. DATEADD ν¨μμ μ¬μ©λ²
DATEADD ν¨μλ λ€μκ³Ό κ°μ ꡬ문μΌλ‘ μ¬μ©λ©λλ€:
DATEADD(datepart, number, date)
μμ ꡬ문μμ κ° λ§€κ°λ³μλ λ€μκ³Ό κ°μ μλ―Έλ₯Ό κ°μ΅λλ€:
datepart
: λ μ§ μ°μ°μ μ¬μ©ν λ¨μλ₯Ό μ§μ ν©λλ€. μλ₯Ό λ€μ΄ λ λλ₯Ό λνκ±°λ λΉΌλ €λ©΄ 'year', μμ λνκ±°λ λΉΌλ €λ©΄ 'month', μΌμ λνκ±°λ λΉΌλ €λ©΄ 'day'μ κ°μ λ¨μλ₯Ό μ¬μ©ν©λλ€.number
: λ μ§μ λνκ±°λ λΊ μ«μλ₯Ό μ§μ ν©λλ€. μμλ₯Ό μ§μ νλ©΄ ν΄λΉ μ«μλ§νΌ λ μ§λ₯Ό λνκ³ , μμλ₯Ό μ§μ νλ©΄ ν΄λΉ μ«μλ§νΌ λ μ§λ₯Ό λΊ μ μμ΅λλ€.date
: λ μ§λ₯Ό λνλ΄λ κ°μ μ§μ ν©λλ€. μ°μ°μ μνν λμ λ μ§λ₯Ό μ§μ ν©λλ€.
3.2. DATEADD ν¨μμ μμ
μλ μμ μμλ DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μ μ°μ°μ μννλ λ°©λ²μ λν΄ λ³΄μ¬μ€λλ€.
SELECT DATEADD(year, 1, '2022-07-20') AS NextYearDate;
μμ μμ μμλ '2022-07-20' λ μ§μ 1λ μ λνμ¬ λ€μ ν΄μ λ μ§λ₯Ό κ³μ°ν©λλ€. κ²°κ³Όλ λ€μκ³Ό κ°μ΅λλ€:
NextYearDate
--------------------
2023-07-20
DATEADD ν¨μλ SQL Serverμμ λ μ§μ λν μ°μ μ°μ°μ μννλ λ° μ μ©ν ν¨μμ λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νλ©΄ λ μ§μ μΌμ ν κ°μ λνκ±°λ λΉΌλ λ±μ μ°μ°μ μνν μ μμ΅λλ€. μμ μμ μμλ DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μ 1λ μ λνλ μ°μ°μ μννμ΅λλ€. μ΄λ₯Ό νμ©νμ¬ λ°μ΄ν°λ² μ΄μ€ μμ μ νμν λ μ§ μ°μ°μ μ μ νκ² μνν μ μμ΅λλ€.
- DATEADD ν¨μμ μν κ³Ό μλ―Έ
DATEADD ν¨μλ SQL Serverμμ μ¬μ©λλ λ μ§ λ° μκ° ν¨μ μ€ νλλ‘μ, μ£Όμ΄μ§ λ μ§μ λν΄ λ§μ λλ λΊμ μ°μ°μ μννμ¬ μλ‘μ΄ λ μ§λ₯Ό κ³μ°νλ μν μ ν©λλ€. μ΄λ₯Ό ν΅ν΄ λ μ§μ λν λ€μν μ°μ°μ κ°νΈνκ² μνν μ μμ΅λλ€.
DATEADD ν¨μλ μ£Όλ‘ λ€μκ³Ό κ°μ μν μ μνν©λλ€:
λ μ§ μ¦κ°: DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μ μΌμ ν κ°μ λνκ±°λ λΊ μ μμ΅λλ€. μλ₯Ό λ€μ΄, μΌμ£ΌμΌ νμ λ μ§λ₯Ό κ³μ°νκ±°λ ν λ¬ μ μ λ μ§λ₯Ό κ³μ°νλ λ±μ μμ μ΄ κ°λ₯ν©λλ€.
λ μ§ λ¨μ λ³ν: DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§λ₯Ό λ€λ₯Έ λ¨μλ‘ λ³νν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μΌ λ¨μλ‘ νμλ λ μ§λ₯Ό μ λ¨μλ‘ λ³ννκ±°λ λΆ λ¨μλ‘ νμλ μκ°μ μ΄ λ¨μλ‘ λ³ννλ λ±μ μμ μ΄ κ°λ₯ν©λλ€.
λ μ§ λΉκ΅: DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§ λΉκ΅λ₯Ό μνν μ μμ΅λλ€. μλ₯Ό λ€μ΄, νΉμ λ μ§μ νμ¬ λ μ§λ₯Ό λΉκ΅νμ¬ κ²½κ³Όν λ μ§ μλ₯Ό κ³μ°νκ±°λ, νΉμ λ μ§μ λ€λ₯Έ λ μ§ μ¬μ΄μ μΌμλ₯Ό κ³μ°νλ λ±μ μμ μ΄ κ°λ₯ν©λλ€.
DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ λ€μν λ μ§ μ°μ°μ μνν μ μμΌλ©°, μ΄λ₯Ό νμ©νμ¬ λ°μ΄ν°λ² μ΄μ€ μμ μ νμν λ μ§ κ΄λ ¨ μμ μ ν¨μ¨μ μΌλ‘ μνν μ μμ΅λλ€.
- DATEADD ν¨μμ λ¬Έλ²
DATEADD ν¨μλ λ€μκ³Ό κ°μ ꡬ문μ κ°μ§λλ€:
DATEADD(datepart, number, date)
κ°κ°μ 맀κ°λ³μλ λ€μκ³Ό κ°μ μλ―Έλ₯Ό κ°μ§κ³ μμ΅λλ€:
datepart
: λ μ§ μ°μ°μ μ¬μ©ν λ¨μλ₯Ό μ§μ ν©λλ€. μλ₯Ό λ€μ΄, 'year'λ λ λ, 'month'λ μ, 'day'λ μΌ λ±μ λ¨μλ₯Ό μ¬μ©ν μ μμ΅λλ€.number
: λ μ§μ λνκ±°λ λΊ κ°μ μ§μ ν©λλ€. μμ κ°μ μ§μ νλ©΄ ν΄λΉ κ°μ λ μ§μ λνκ³ , μμ κ°μ μ§μ νλ©΄ ν΄λΉ κ°μ λ μ§μμ λΉΌκ² λ©λλ€.date
: μ°μ°μ μνν λμ λ μ§λ₯Ό μ§μ ν©λλ€. λ³΄ν΅ λ μ§λ₯Ό λνλ΄λ λ¬Έμμ΄μ΄λ λ μ§ λ°μ΄ν° νμ μ λ³μλ₯Ό μ¬μ©ν©λλ€.
DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μ μ°μ°μ μννκΈ° μν΄μλ μμ λ¬Έλ²μ λ°λΌμΌ ν©λλ€. datepart
μλ λ μ§ μ°μ°μ μ¬μ©ν λ¨μλ₯Ό μ§μ νκ³ , number
μλ ν΄λΉ λ¨μμ λν΄ λνκ±°λ λΊ κ°μΌλ‘ μ μ κ°μ μ§μ ν©λλ€. λ§μ§λ§μΌλ‘, date
μλ μ°μ°μ μνν λμμ΄ λλ λ μ§ κ°μ μ§μ ν©λλ€.
μλ₯Ό λ€μ΄, λ€μμ DATEADD ν¨μμ μμ μ λλ€:
SELECT DATEADD(year, 1, '2022-07-20') AS NextYearDate;
μμ μμ λ '2022-07-20' λ μ§μ 1λ μ λνμ¬ μλ‘μ΄ λ μ§λ₯Ό κ³μ°νλ μμ μ λλ€. κ²°κ³Όλ '2023-07-20'μ΄ λ©λλ€.
DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μ λν μ°μ°μ μνν λλ λ¬Έλ²μ μ νν μ§μΌμΌ νλ©°, μ μ ν datepart
μ number
κ°μ μ§μ νμ¬ μνλ μ°μ°μ μνν μ μμ΅λλ€.
- DATEADD ν¨μ μμ : νΉμ λ μ§μ μΌμ κΈ°κ°μ λνκ±°λ λΉΌκΈ°
DATEADD ν¨μλ₯Ό μ¬μ©νμ¬ νΉμ λ μ§μ μΌμ κΈ°κ°μ λνκ±°λ λΉΌλ μμ λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
1. μΌμ£ΌμΌ νμ λ μ§ κ³μ°νκΈ°
DECLARE @StartDate DATE = '2022-07-20';
SELECT DATEADD(week, 1, @StartDate) AS OneWeekLater;
μμ μμ λ '2022-07-20' λ μ§μ μΌμ£ΌμΌ(7μΌ)μ λνμ¬ μλ‘μ΄ λ μ§λ₯Ό κ³μ°νλ μμ μ
λλ€. DATEADD(week, 1, @StartDate)
λ₯Ό μ¬μ©νμ¬ μ£Ό λ¨μλ‘ 1μ λν κ²°κ³Όλ₯Ό λ°νν©λλ€. κ²°κ³Όλ '2022-07-27'μ΄ λ©λλ€.
2. ν λ¬ μ μ λ μ§ κ³μ°νκΈ°
DECLARE @StartDate DATE = '2022-07-20';
SELECT DATEADD(month, -1, @StartDate) AS OneMonthEarlier;
μμ μμ λ '2022-07-20' λ μ§μμ ν λ¬(30μΌ)μ λΉΌμ΄ μλ‘μ΄ λ μ§λ₯Ό κ³μ°νλ μμ μ
λλ€. DATEADD(month, -1, @StartDate)
λ₯Ό μ¬μ©νμ¬ μ λ¨μλ‘ -1μ λν κ²°κ³Όλ₯Ό λ°νν©λλ€. κ²°κ³Όλ '2022-06-20'μ΄ λ©λλ€.
3. νΉμ λ μ§μ νμ¬ λ μ§ μ¬μ΄μ μΌ μ κ³μ°νκΈ°
DECLARE @SpecificDate DATE = '2022-07-20';
SELECT DATEDIFF(day, @SpecificDate, GETDATE()) AS DaysElapsed;
μμ μμ λ '2022-07-20' λ μ§μ νμ¬ λ μ§ μ¬μ΄μ κ²½κ³Όν μΌμλ₯Ό κ³μ°νλ μμ μ
λλ€. DATEDIFF(day, @SpecificDate, GETDATE())
λ₯Ό μ¬μ©νμ¬ λ μ§ μ°¨μ΄λ₯Ό κ³μ°νκ³ , μΌ(day) λ¨μλ‘ λ°νν©λλ€. GETDATE()
ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§λ₯Ό κ°μ Έμ΅λλ€. κ²°κ³Όλ νμ¬ λ μ§μ '2022-07-20' μ¬μ΄μ κ²½κ³Όν μΌ μκ° λ©λλ€.
μμ μμ λ₯Ό μ°Έκ³ νμ¬ DATEADD ν¨μλ₯Ό νμ©νμ¬ νΉμ λ μ§μ μΌμ κΈ°κ°μ λνκ±°λ λΉΌλ λ€μν μ°μ°μ μνν μ μμ΅λλ€. λ μ§μ μκ°μ κ΄λ ¨λ μμ μ μνν λλ DATEADD ν¨μλ₯Ό μ μ ν νμ©νμ¬ μνλ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.
DATEADD ν¨μ μμ : νΉμ λ μ§μ μΌμ κΈ°κ°μ λνκ±°λ λΉΌκΈ°
DATEADD ν¨μλ SQL Serverμμ λ μ§μ λν μ°μ°μ μννλ λ° μ¬μ©λλ μ μ©ν ν¨μμ λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νλ©΄ νΉμ λ μ§μ μΌμ κΈ°κ°μ λνκ±°λ λΊ μ μμ΅λλ€. μ΄μ μ€μ μμ λ₯Ό ν΅ν΄ DATEADD ν¨μμ μ¬μ©λ²μ μμΈν μμλ³΄κ² μ΅λλ€.
1. μΌμ£ΌμΌ νμ λ μ§ κ³μ°νκΈ°
λ€μ μμ λ '2022-07-20' λ μ§μ μΌμ£ΌμΌ(7μΌ)μ λνμ¬ μλ‘μ΄ λ μ§λ₯Ό κ³μ°νλ μμ μ λλ€.
DECLARE @StartDate DATE = '2022-07-20';
SELECT DATEADD(week, 1, @StartDate) AS OneWeekLater;
DATEADD ν¨μμ 첫 λ²μ§Έ μΈμλ‘ 'week'μ μ¬μ©νμ¬ μ£Ό λ¨μλ‘ 1μ λν κ²°κ³Όλ₯Ό λ°νν©λλ€. κ²°κ³Όλ '2022-07-27'μ΄ λ©λλ€.
2. ν λ¬ μ μ λ μ§ κ³μ°νκΈ°
λ€μ μμ λ '2022-07-20' λ μ§μμ ν λ¬(30μΌ)μ λΉΌμ΄ μλ‘μ΄ λ μ§λ₯Ό κ³μ°νλ μμ μ λλ€.
DECLARE @StartDate DATE = '2022-07-20';
SELECT DATEADD(month, -1, @StartDate) AS OneMonthEarlier;
DATEADD ν¨μμ 첫 λ²μ§Έ μΈμλ‘ 'month'λ₯Ό μ¬μ©νμ¬ μ λ¨μλ‘ -1μ λν κ²°κ³Όλ₯Ό λ°νν©λλ€. κ²°κ³Όλ '2022-06-20'μ΄ λ©λλ€.
3. νΉμ λ μ§μ νμ¬ λ μ§ μ¬μ΄μ μΌ μ κ³μ°νκΈ°
λ€μ μμ λ '2022-07-20' λ μ§μ νμ¬ λ μ§ μ¬μ΄μ κ²½κ³Όν μΌμλ₯Ό κ³μ°νλ μμ μ λλ€.
DECLARE @SpecificDate DATE = '2022-07-20';
SELECT DATEDIFF(day, @SpecificDate, GETDATE()) AS DaysElapsed;
DATEADD ν¨μμ 첫 λ²μ§Έ μΈμλ‘ 'day'λ₯Ό μ¬μ©νμ¬ '2022-07-20'κ³Ό νμ¬ λ μ§ μ¬μ΄μ λ μ§ μ°¨μ΄λ₯Ό κ³μ°ν©λλ€. GETDATE() ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ λ μ§λ₯Ό κ°μ Έμ΅λλ€. κ²°κ³Όλ νμ¬ λ μ§μ '2022-07-20' μ¬μ΄μ κ²½κ³Όν μΌ μκ° λ©λλ€.
DATEADD ν¨μλ νμ 맀κ°λ³μμ μμλλ‘ μ΄κΈ° λ μ§λ₯Ό μ§μ ν΄μΌ ν©λλ€. λν, μ§μλλ datepart
λ° λ§€κ°λ³μμ λν μμΈν λ΄μ©μ 곡μ Microsoft λ¬Έμλ₯Ό μ°Έμ‘°νμκΈ° λ°λλλ€[^dateadd].
μμ μμ λ₯Ό μ°Έκ³ νμ¬ DATEADD ν¨μλ₯Ό νμ©νμ¬ νΉμ λ μ§μ μΌμ κΈ°κ°μ λνκ±°λ λΉΌλ λ€μν μ°μ°μ μνν μ μμ΅λλ€. λ μ§μ μκ°μ κ΄λ ¨λ μμ μ μνν λλ DATEADD ν¨μλ₯Ό μ μ ν νμ©νμ¬ μνλ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.
4. λμ£Όμ : DATEPART ν¨μ μ¬μ©λ²κ³Ό μμ
DATEPART ν¨μλ SQL Serverμμ λ μ§ λλ μκ°μ νΉμ λΆλΆμ μΆμΆνλ λ° μ¬μ©λλ ν¨μμ λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νλ©΄ λ μ§μ μκ° κ°μ κ΅¬μ± μμλ‘ λΆλ¦¬νμ¬ μνλ μ 보λ₯Ό κ°μ Έμ¬ μ μμ΅λλ€. μ΄μ μ€μ μμ λ₯Ό ν΅ν΄ DATEPART ν¨μμ μ¬μ©λ²κ³Ό νμ© λ°©λ²μ μμΈν μμλ³΄κ² μ΅λλ€.
1. μ°λ μΆμΆνκΈ°
λ€μ μμ λ '2022-07-20' λ μ§μμ μ°λλ₯Ό μΆμΆνλ μμ μ λλ€.
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(year, @DateToExtract) AS ExtractedYear;
DATEPART ν¨μμ 첫 λ²μ§Έ μΈμλ‘ 'year'μ μ¬μ©νμ¬ μ°λλ₯Ό μΆμΆν©λλ€. κ²°κ³Όλ '2022'κ° λ©λλ€.
2. μ μΆμΆνκΈ°
λ€μ μμ λ '2022-07-20' λ μ§μμ μμ μΆμΆνλ μμ μ λλ€.
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(month, @DateToExtract) AS ExtractedMonth;
DATEPART ν¨μμ 첫 λ²μ§Έ μΈμλ‘ 'month'λ₯Ό μ¬μ©νμ¬ μμ μΆμΆν©λλ€. κ²°κ³Όλ '7'μ΄ λ©λλ€.
3. μΌ μΆμΆνκΈ°
λ€μ μμ λ '2022-07-20' λ μ§μμ μΌμ μΆμΆνλ μμ μ λλ€.
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(day, @DateToExtract) AS ExtractedDay;
DATEPART ν¨μμ 첫 λ²μ§Έ μΈμλ‘ 'day'λ₯Ό μ¬μ©νμ¬ μΌμ μΆμΆν©λλ€. κ²°κ³Όλ '20'μ΄ λ©λλ€.
4. μμΌ μΆμΆνκΈ°
λ€μ μμ λ '2022-07-20' λ μ§μμ μμΌμ μΆμΆνλ μμ μ λλ€.
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(weekday, @DateToExtract) AS ExtractedWeekday;
DATEPART ν¨μμ 첫 λ²μ§Έ μΈμλ‘ 'weekday'λ₯Ό μ¬μ©νμ¬ μμΌμ μΆμΆν©λλ€. κ²°κ³Όλ '4'κ° λ©λλ€. (μΌμμΌμ΄ 1, ν μμΌμ΄ 7)
DATEPART ν¨μλ λ€μν μΈμλ₯Ό ν΅ν΄ λ μ§ λ° μκ° κ°μμ νμν κ΅¬μ± μμλ₯Ό μΆμΆνλ λ° μ¬μ©ν μ μμ΅λλ€. μ§μλλ datepart
μΈμμ λν μμΈν λ΄μ© λ° μμ λ 곡μ Microsoft λ¬Έμλ₯Ό μ°Έμ‘°νμκΈ° λ°λλλ€[^datepart].
μμ μμ λ₯Ό μ°Έκ³ νμ¬ DATEPART ν¨μλ₯Ό μ μ ν νμ©νμ¬ λ μ§ λ° μκ° κ°μμ μνλ μ 보λ₯Ό μΆμΆν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ λ°μ΄ν° λΆμμ΄λ 쑰건 κ²μμ λμμ΄ λλ μ 보λ₯Ό μΆμΆν μ μμ΅λλ€.
- DATEPART ν¨μμ μν κ³Ό μλ―Έ
DATEPART ν¨μλ SQL Serverμμ λ μ§ λλ μκ° κ°μμ νΉμ ν κ΅¬μ± μμλ₯Ό μΆμΆνλ μν μ ν©λλ€. μ΄ ν¨μλ λ μ§ λλ μκ° κ°μμ λ λ, μ, μΌ, μμΌ, μκ°, λΆ, μ΄ λ± νΉμ ν λΆλΆμ μΆμΆν μ μμ΅λλ€. DATEPART ν¨μλ λ€μκ³Ό κ°μ νμμΌλ‘ μ¬μ©λ©λλ€.
DATEPART(datepart, date)
datepart
: λ μ§ λλ μκ° κ°μ μΆμΆνκ³ μ νλ κ΅¬μ± μμλ₯Ό μ§μ ν©λλ€. μλ₯Ό λ€λ©΄ 'year', 'month', 'day', 'weekday', 'hour', 'minute', 'second' λ±μ΄ μμ΅λλ€.date
: κ΅¬μ± μμλ₯Ό μΆμΆν λμμ΄ λλ λ μ§ λλ μκ° κ°μ μ§μ ν©λλ€.
DATEPART ν¨μμ κ²°κ³Όλ μ§μ ν κ΅¬μ± μμμ κ°μ΄ λ©λλ€. μλ₯Ό λ€μ΄, '2022-07-20' λ μ§μμ YEAR κ΅¬μ± μμλ₯Ό μΆμΆνλ©΄ 2022κ° λλ©°, MONTH κ΅¬μ± μμλ₯Ό μΆμΆνλ©΄ 7μ΄ λ©λλ€.
DATEPART ν¨μλ λ μ§μ μκ° κ°μ λΆμνκ³ , νμν μ 보λ₯Ό μΆμΆν μ μλλ‘ λμμ€λλ€. μ΄λ₯Όν λ©΄, λ μ§ κ° μ€μμ νΉμ ν μμ λ°μ΄ν°λ₯Ό κ²μνλ €κ³ ν λ, MONTH κ΅¬μ± μμλ₯Ό μΆμΆνμ¬ κ²μ 쑰건μΌλ‘ νμ©ν μ μμ΅λλ€. λν, μμΌ μ 보λ₯Ό μΆμΆνμ¬ νΉμ ν μμΌμ ν΄λΉνλ λ°μ΄ν°λ₯Ό νν°λ§νλ λ± λ€μν νμ© λ°©λ²μ΄ μμ΅λλ€.
DATEPART ν¨μλ λ€μν κ΅¬μ± μμλ₯Ό μ§μνλ©°, μ§μλλ datepart
μΈμμ λν μμΈν λ΄μ©κ³Ό μμ λ 곡μ Microsoft λ¬Έμλ₯Ό μ°Έμ‘°νμκΈ° λ°λλλ€[^datepart]. μ΄λ₯Ό ν΅ν΄ μνλ κ΅¬μ± μμλ₯Ό μΆμΆνμ¬ λ°μ΄ν° λΆμμ΄λ νν°λ§μ νμ©ν μ μμ΅λλ€.
- DATEPART ν¨μμ λ¬Έλ²
DATEPART ν¨μλ SQL Serverμμ λ μ§ λλ μκ° κ°μμ νΉμ ν κ΅¬μ± μμλ₯Ό μΆμΆνλλ° μ¬μ©λλ ν¨μμ΄λ©°, λ€μκ³Ό κ°μ λ¬Έλ²μ κ°μ΅λλ€.
DATEPART(datepart, date)
datepart
: μΆμΆνκ³ μ νλ κ΅¬μ± μμλ₯Ό λνλ΄λ λ¬Έμμ΄μ λλ€. λ€μκ³Ό κ°μ κ΅¬μ± μμλ₯Ό μ§μν©λλ€.year
: μ°λquarter
: λΆκΈ°month
: μdayofyear
: ν΄λΉ μ°λμ μΌ μday
: μΌweekday
: μμΌ (1 = μΌμμΌ, 2 = μμμΌ, ..., 7 = ν μμΌ)week
: μ£Ό (ISO μ£Ό νμ€μ λ°λΌ 1μ 4μΌμ ν¬ν¨νλ μ£Όλ₯Ό 첫 λ²μ§Έ μ£Όλ‘ κ°μ£Ό)hour
: μκ°minute
: λΆsecond
: μ΄millisecond
: λ°λ¦¬μ΄microsecond
: λ§μ΄ν¬λ‘μ΄nanosecond
: λλ Έμ΄
date
: κ΅¬μ± μμλ₯Ό μΆμΆν λμμΈ λ μ§ λλ μκ° κ°μ λλ€.
DATEPART ν¨μλ λ κ°μ 맀κ°λ³μλ₯Ό κ°μ΅λλ€. 첫 λ²μ§Έ 맀κ°λ³μμΈ datepart
λ μΆμΆνκ³ μ νλ κ΅¬μ± μμλ₯Ό μ§μ νλ©°, λ λ²μ§Έ 맀κ°λ³μμΈ date
λ κ΅¬μ± μμλ₯Ό μΆμΆν λμμΈ λ μ§ λλ μκ° κ°μ μ§μ ν©λλ€.
μλ₯Ό λ€μ΄, '2022-07-20' λ μ§μμ μ°λλ₯Ό μΆμΆνλ €λ©΄ λ€μκ³Ό κ°μ΄ μ¬μ©ν μ μμ΅λλ€.
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(year, @DateToExtract) AS ExtractedYear;
μμ μμ μμλ year
μ datepart
λ‘ μ§μ νμ¬ μ°λλ₯Ό μΆμΆνκ³ , @DateToExtract
λ³μλ₯Ό date
λ‘ μ§μ νμ¬ κ΅¬μ± μμλ₯Ό μΆμΆν©λλ€.
DATEPART ν¨μλ λ€μν κ΅¬μ± μμλ₯Ό μ§μνμ¬ λ μ§ λλ μκ° κ°μμ νμν μ 보λ₯Ό μΆμΆν μ μμ΅λλ€. μμΈν λ΄μ©κ³Ό μμ μ½λμ λν΄μλ 곡μ Microsoft λ¬Έμλ₯Ό μ°Έμ‘°νμκΈ° λ°λλλ€[^datepart].
- DATEPART ν¨μ μμ : λ μ§μμ νΉμ λΆλΆλ§ μΆμΆνκΈ° (λ , μ, μΌ, μκ°, λΆ λ±)
DATEPART ν¨μλ λ μ§ λλ μκ° κ°μ λΆμνκ³ , νμν μ 보λ₯Ό μΆμΆν μ μλ κΈ°λ₯μ μ 곡ν©λλ€. λ€μμ DATEPART ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μμ νΉμ ν λΆλΆμ μΆμΆνλ μμ μ λλ€.
1. λ λ (Year) μΆμΆνκΈ°
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(year, @DateToExtract) AS ExtractedYear;
μμ μμ μμλ year
μ datepart
λ‘ μ§μ νμ¬ λ μ§μμ λ
λλ₯Ό μΆμΆν©λλ€. @DateToExtract
λ³μλ μΆμΆν λμμΈ λ μ§ κ°μΌλ‘ μ€μ λμ΄ μμΌλ©°, DATEPART
ν¨μμ κ²°κ³Όλ ExtractedYear
λΌλ λ³μΉμ κ°μ§κ² λ©λλ€.
2. μ (Month) μΆμΆνκΈ°
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(month, @DateToExtract) AS ExtractedMonth;
μμ μμ μμλ month
λ₯Ό datepart
λ‘ μ§μ νμ¬ λ μ§μμ μμ μΆμΆν©λλ€. @DateToExtract
λ³μλ μΆμΆν λμμΈ λ μ§ κ°μΌλ‘ μ€μ λμ΄ μμΌλ©°, DATEPART
ν¨μμ κ²°κ³Όλ ExtractedMonth
λΌλ λ³μΉμ κ°μ§κ² λ©λλ€.
3. μΌ (Day) μΆμΆνκΈ°
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(day, @DateToExtract) AS ExtractedDay;
μμ μμ μμλ day
λ₯Ό datepart
λ‘ μ§μ νμ¬ λ μ§μμ μΌμ μΆμΆν©λλ€. @DateToExtract
λ³μλ μΆμΆν λμμΈ λ μ§ κ°μΌλ‘ μ€μ λμ΄ μμΌλ©°, DATEPART
ν¨μμ κ²°κ³Όλ ExtractedDay
λΌλ λ³μΉμ κ°μ§κ² λ©λλ€.
4. μκ° (Hour) μΆμΆνκΈ°
DECLARE @DateTimeToExtract DATETIME = '2022-07-20 15:30:45';
SELECT DATEPART(hour, @DateTimeToExtract) AS ExtractedHour;
μμ μμ μμλ hour
λ₯Ό datepart
λ‘ μ§μ νμ¬ λ μ§μ μκ°μμ μκ°μ μΆμΆν©λλ€. @DateTimeToExtract
λ³μλ μΆμΆν λμμΈ λ μ§μ μκ° κ°μΌλ‘ μ€μ λμ΄ μμΌλ©°, DATEPART
ν¨μμ κ²°κ³Όλ ExtractedHour
λΌλ λ³μΉμ κ°μ§κ² λ©λλ€.
5. λΆ (Minute) μΆμΆνκΈ°
DECLARE @DateTimeToExtract DATETIME = '2022-07-20 15:30:45';
SELECT DATEPART(minute, @DateTimeToExtract) AS ExtractedMinute;
μμ μμ μμλ minute
λ₯Ό datepart
λ‘ μ§μ νμ¬ λ μ§μ μκ°μμ λΆμ μΆμΆν©λλ€. @DateTimeToExtract
λ³μλ μΆμΆν λμμΈ λ μ§μ μκ° κ°μΌλ‘ μ€μ λμ΄ μμΌλ©°, DATEPART
ν¨μμ κ²°κ³Όλ ExtractedMinute
λΌλ λ³μΉμ κ°μ§κ² λ©λλ€.
μμ μμ λ€μ DATEPART ν¨μλ₯Ό μ¬μ©νμ¬ μ£Όμ΄μ§ λ μ§ λλ μκ° κ°μ λΆμνκ³ , νμν μ 보λ₯Ό μΆμΆνλ λ°©λ²μ 보μ¬μ€λλ€. DATEPART ν¨μλ₯Ό μ μ ν νμ©νλ©΄ λ°μ΄ν° λΆμμ΄λ νν°λ§μ μ μ©νκ² μ¬μ©ν μ μμ΅λλ€.
DATEPART ν¨μ μμ : λ μ§μμ νΉμ λΆλΆλ§ μΆμΆνκΈ° (λ , μ, μΌ, μκ°, λΆ λ±)
DATEPART ν¨μλ λ μ§μ μκ° κ°μμ νΉμ ν λΆλΆμ μΆμΆνλ λ° μ¬μ©λλ ν¨μμ λλ€. μ΄ ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§μ μκ° κ°μ λΆμνκ³ νμν μ 보λ₯Ό μΆμΆν μ μμ΅λλ€. λ€μμ DATEPART ν¨μλ₯Ό νμ©ν μ¬λ¬ μμ μ λλ€.
1. λ λ (Year) μΆμΆνκΈ°
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(year, @DateToExtract) AS ExtractedYear;
year
μ datepart
λ‘ μ§μ νμ¬ λ μ§μμ λ
λλ₯Ό μΆμΆνλ μμ μ
λλ€. @DateToExtract
λ³μλ μΆμΆν λμμΈ λ μ§ κ°μ μ μ₯νκ³ μμΌλ©°, DATEPART ν¨μμ κ²°κ³Όλ ExtractedYear
μ΄λΌλ λ³μΉμΌλ‘ λ°νλ©λλ€.
2. μ (Month) μΆμΆνκΈ°
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(month, @DateToExtract) AS ExtractedMonth;
month
λ₯Ό datepart
λ‘ μ§μ νμ¬ λ μ§μμ μμ μΆμΆνλ μμ μ
λλ€. @DateToExtract
λ³μμλ μΆμΆν λμμΈ λ μ§ κ°μ΄ μ μ₯λμ΄ μμΌλ©°, DATEPART ν¨μμ κ²°κ³Όλ ExtractedMonth
λΌλ λ³μΉμΌλ‘ λ°νλ©λλ€.
3. μΌ (Day) μΆμΆνκΈ°
DECLARE @DateToExtract DATE = '2022-07-20';
SELECT DATEPART(day, @DateToExtract) AS ExtractedDay;
day
λ₯Ό datepart
λ‘ μ§μ νμ¬ λ μ§μμ μΌμ μΆμΆνλ μμ μ
λλ€. @DateToExtract
λ³μμλ μΆμΆν λμμΈ λ μ§ κ°μ΄ μ μ₯λμ΄ μμΌλ©°, DATEPART ν¨μμ κ²°κ³Όλ ExtractedDay
λΌλ λ³μΉμΌλ‘ λ°νλ©λλ€.
4. μκ° (Hour) μΆμΆνκΈ°
DECLARE @DateTimeToExtract DATETIME = '2022-07-20 15:30:45';
SELECT DATEPART(hour, @DateTimeToExtract) AS ExtractedHour;
hour
λ₯Ό datepart
λ‘ μ§μ νμ¬ λ μ§μ μκ°μμ μκ°μ μΆμΆνλ μμ μ
λλ€. @DateTimeToExtract
λ³μμλ μΆμΆν λμμΈ λ μ§μ μκ° κ°μ΄ μ μ₯λμ΄ μμΌλ©°, DATEPART ν¨μμ κ²°κ³Όλ ExtractedHour
λΌλ λ³μΉμΌλ‘ λ°νλ©λλ€.
5. λΆ (Minute) μΆμΆνκΈ°
DECLARE @DateTimeToExtract DATETIME = '2022-07-20 15:30:45';
SELECT DATEPART(minute, @DateTimeToExtract) AS ExtractedMinute;
minute
λ₯Ό datepart
λ‘ μ§μ νμ¬ λ μ§μ μκ°μμ λΆμ μΆμΆνλ μμ μ
λλ€. @DateTimeToExtract
λ³μμλ μΆμΆν λμμΈ λ μ§μ μκ° κ°μ΄ μ μ₯λμ΄ μμΌλ©°, DATEPART ν¨μμ κ²°κ³Όλ ExtractedMinute
λΌλ λ³μΉμΌλ‘ λ°νλ©λλ€.
μ μμ μμλ DATEPART ν¨μλ₯Ό νμ©νμ¬ μ£Όμ΄μ§ λ μ§ λλ μκ° κ°μ λΆμνκ³ μνλ μ 보λ₯Ό μΆμΆνλ λ°©λ²μ μ΄ν΄λ³΄μμ΅λλ€. μ μ©ν λ°μ΄ν° λΆμ λ° νν°λ§ μμ μ DATEPART ν¨μλ₯Ό μ μ ν νμ©ν μ μμ΅λλ€.
DATEDIFF ν¨μ μ¬μ©λ²κ³Ό μμ
DATEDIFF ν¨μλ λ λ μ§ λλ μκ° μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°νλ λ° μ¬μ©λλ ν¨μμ λλ€. μ΄ ν¨μλ₯Ό νμ©νλ©΄ λ μ§ λλ μκ° κ°κ²©μ κ³μ°ν μ μμ΅λλ€. λ€μμ DATEDIFF ν¨μμ μ¬μ©λ²κ³Ό μμ μ λλ€.
1. λ μ§ κ°κ²©(Difference) κ³μ°νκΈ°
DECLARE @StartDate DATETIME = '2022-01-01';
DECLARE @EndDate DATETIME = '2022-12-31';
SELECT DATEDIFF(day, @StartDate, @EndDate) AS DateDifference;
λ μ§ κ°κ²©(Difference)μ κ³μ°νλ μμ μ
λλ€. @StartDate
μ @EndDate
λ³μμλ λΉκ΅ν λ λ μ§ κ°μ΄ μ μ₯λμ΄ μμΌλ©°, DATEDIFF ν¨μλ‘ day
λΌλ κ°κ²©μ μ€μ νμ¬ λ μ§ κ°μ μ°¨μ΄λ₯Ό κ³μ°ν©λλ€. κ²°κ³Όλ DateDifference
λΌλ λ³μΉμΌλ‘ λ°νλ©λλ€.
2. μκ° κ°κ²©(Difference) κ³μ°νκΈ°
DECLARE @StartTime DATETIME = '2022-01-01 10:00:00';
DECLARE @EndTime DATETIME = '2022-01-01 12:30:00';
SELECT DATEDIFF(second, @StartTime, @EndTime) AS TimeDifference;
μκ° κ°κ²©(Difference)μ κ³μ°νλ μμ μ
λλ€. @StartTime
κ³Ό @EndTime
λ³μμλ λΉκ΅ν λ μκ° κ°μ΄ μ μ₯λμ΄ μμΌλ©°, DATEDIFF ν¨μλ‘ second
λΌλ κ°κ²©μ μ€μ νμ¬ μκ° κ°μ μ°¨μ΄λ₯Ό κ³μ°ν©λλ€. κ²°κ³Όλ TimeDifference
λΌλ λ³μΉμΌλ‘ λ°νλ©λλ€.
3. μ£ΌκΈ° κ°κ²©(Difference) κ³μ°νκΈ°
DECLARE @StartDate DATE = '2022-01-01';
DECLARE @EndDate DATE = '2022-12-31';
SELECT DATEDIFF(month, @StartDate, @EndDate) / 3 AS QuarterDifference;
μ£ΌκΈ° κ°κ²©(Difference)μ κ³μ°νλ μμ μ
λλ€. @StartDate
μ @EndDate
λ³μμλ λΉκ΅ν λ λ μ§ κ°μ΄ μ μ₯λμ΄ μμΌλ©°, DATEDIFF ν¨μλ‘ month
λΌλ κ°κ²©μ μ€μ νμ¬ μ κ°μ μ°¨μ΄λ₯Ό κ³μ°ν©λλ€. κ²°κ³Όλ₯Ό 3μΌλ‘ λλμ΄ λΆκΈ° κ°κ²©μ κ³μ°ν λ€ QuarterDifference
λΌλ λ³μΉμΌλ‘ λ°νλ©λλ€.
μ μμ μμλ DATEDIFF ν¨μλ₯Ό νμ©νμ¬ λ λ μ§ λλ μκ° κ° μ¬μ΄μ κ°κ²©μ κ³μ°νλ λ°©λ²μ μ΄ν΄λ³΄μμ΅λλ€. DATEDIFF ν¨μλ₯Ό μ μ ν μ¬μ©νλ©΄ λ°μ΄ν° λΆμμ΄λ κΈ°κ° κ³μ°μ μ μ©νκ² νμ©ν μ μμ΅λλ€.
DATEDIFF ν¨μμ μν κ³Ό μλ―Έ
DATEDIFF ν¨μλ λ μ§ λλ μκ° μ¬μ΄μ μ°¨μ΄λ₯Ό κ³μ°νλ λ° μ¬μ©λλ ν¨μμ λλ€. μ΄ ν¨μλ₯Ό νμ©νλ©΄ λ λ μ§ λλ μκ° κ° μ¬μ΄μ κ°κ²©μ μ½κ² κ³μ°ν μ μμ΅λλ€. DATEDIFF ν¨μμ μν κ³Ό μλ―Έλ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€.
DATEDIFF ν¨μλ λ€μκ³Ό κ°μ νμμΌλ‘ μ¬μ©λ©λλ€:
DATEDIFF (datepart, startdate, enddate)
datepart
: κ³μ°ν λ μ§ λλ μκ° κ°κ²©μ μ§μ νλ 맀κ°λ³μμ λλ€. μλ₯Ό λ€μ΄year
,month
,day
,hour
,minute
,second
λ±μ΄ μ¬ μ μμ΅λλ€.startdate
: λΉκ΅ν 첫 λ²μ§Έ λ μ§ λλ μκ° κ°μ λνλ΄λ 맀κ°λ³μμ λλ€.enddate
: λΉκ΅ν λ λ²μ§Έ λ μ§ λλ μκ° κ°μ λνλ΄λ 맀κ°λ³μμ λλ€.
DATEDIFF ν¨μλ enddate
μμ startdate
λ₯Ό λΊ κ°μΌλ‘ κ³μ°λ κ²°κ³Όλ₯Ό λ°νν©λλ€. μ΄λ¬ν κ²°κ³Όλ datepart
맀κ°λ³μμ λ°λΌ λ€λ₯΄κ² ννλ μ μμ΅λλ€. μλ₯Ό λ€μ΄ datepart
κ° year
λ‘ μ€μ λ κ²½μ°, κ²°κ³Όλ λ λ μ§ μ¬μ΄μ μ°λ μ°¨μ΄λ₯Ό λνλ΄λ©°, datepart
κ° second
λ‘ μ€μ λ κ²½μ° κ²°κ³Όλ λ μκ° μ¬μ΄μ μ΄ μ°¨μ΄λ₯Ό λνλ
λλ€.
DATEDIFF ν¨μμ μ¬μ©μ λ°μ΄ν° λΆμμ΄λ κΈ°κ° κ³μ°κ³Ό κ΄λ ¨λ λ€μν μμ μ μ μ©ν©λλ€. μλ₯Ό λ€μ΄ λ λ μ§ κ°μ κΈ°κ°μ κ³μ°νκ³ λ μ§ μ°¨μ΄λ₯Ό μ»λ λ±μ μμ μ ν λ DATEDIFF ν¨μλ₯Ό μ¬μ©ν μ μμ΅λλ€. λ μ§ λλ μκ° κ°κ²©μ νννλ λ° μμ΄ DATEDIFF ν¨μλ λ§€μ° νΈλ¦¬ν λꡬμ λλ€.
DATEDIFF ν¨μμ λ¬Έλ²
DATEDIFF ν¨μλ₯Ό μ¬μ©νκΈ° μν΄μλ λ€μκ³Ό κ°μ λ¬Έλ²μ λ°λΌμΌ ν©λλ€.
DATEDIFF(datepart, startdate, enddate)
datepart
: κ³μ°ν λ μ§ λλ μκ° κ°κ²©μ μ§μ νλ 맀κ°λ³μμ λλ€. μ΄ λ§€κ°λ³μλ λ¬Έμμ΄ ννλ‘ μ¬μ©λλ©°, κ³μ°νλ €λ κ°κ²©μ λ°λΌ λ€λ₯Έ κ°μ μ νν©λλ€. μλ₯Ό λ€μ΄ λ€μκ³Ό κ°μ κ°μ΄ μ¬ μ μμ΅λλ€:yy
λλyear
: λ λ κ°μ μ°¨μ΄qq
λλquarter
: λΆκΈ° κ°μ μ°¨μ΄mm
λλmonth
: μ κ°μ μ°¨μ΄dd
λλday
: μΌ κ°μ μ°¨μ΄hh
λλhour
: μκ° κ°μ μ°¨μ΄mi
λλminute
: λΆ κ°μ μ°¨μ΄ss
λλsecond
: μ΄ κ°μ μ°¨μ΄
startdate
: λΉκ΅ν 첫 λ²μ§Έ λ μ§ λλ μκ° κ°μ λνλ΄λ 맀κ°λ³μμ λλ€. μ΄ κ°μ λ μ§ λλ μκ° λ°μ΄ν° νμμ΄μ΄μΌ ν©λλ€.enddate
: λΉκ΅ν λ λ²μ§Έ λ μ§ λλ μκ° κ°μ λνλ΄λ 맀κ°λ³μμ λλ€. μ΄ κ°μ λ μ§ λλ μκ° λ°μ΄ν° νμμ΄μ΄μΌ ν©λλ€.
DATEDIFF ν¨μλ enddate
μμ startdate
λ₯Ό λΊ κ°μ κ³μ°νμ¬ κ²°κ³Όλ‘ λ°νν©λλ€. λ°νλλ κ²°κ³Όλ datepart
맀κ°λ³μμ λ°λΌ λ€λ₯΄κ² ννλ©λλ€.
μλ₯Ό λ€μ΄, DATEDIFF(yy, @StartDate, @EndDate)
μ κ²½μ° @StartDate
μ @EndDate
μ¬μ΄μ μ°λ κ°μ μ°¨μ΄λ₯Ό λ°νν©λλ€. λ§μ°¬κ°μ§λ‘, DATEDIFF(dd, @StartDate, @EndDate)
λ @StartDate
μ @EndDate
μ¬μ΄μ μΌ κ°μ μ°¨μ΄λ₯Ό λ°νν©λλ€.
DATEPART 맀κ°λ³μμλ λ³μΉμ μ¬μ©ν μλ μμ΅λλ€. μλ₯Ό λ€μ΄, DATEDIFF(year, @StartDate, @EndDate)
μ DATEDIFF(yy, @StartDate, @EndDate)
λ λμΌν κ²°κ³Όλ₯Ό μ 곡ν©λλ€.
DATEDIFF ν¨μλ₯Ό μ μ ν νμ©νλ©΄ λ°μ΄ν° λΆμμ΄λ λ μ§/μκ° κ°κ²© κ³μ°μ μ μ©νκ² μ¬μ©ν μ μμ΅λλ€.
DATEDIFF ν¨μ μμ : λ λ μ§ κ°μ μ°¨μ΄ κ³μ°νκΈ° (μΌ, μ£Ό, μ, μ°λ λ±)
DATEDIFF ν¨μλ₯Ό μ¬μ©νμ¬ λ λ μ§ κ°μ μ°¨μ΄λ₯Ό κ³μ°νλ λ€μν μμ λ₯Ό μ΄ν΄λ³΄κ² μ΅λλ€. DATEDIFF ν¨μλ datepart
맀κ°λ³μμ λ°λΌ λ€λ₯Έ κ²°κ³Όλ₯Ό λ°ννκΈ° λλ¬Έμ, μ¬μ©νλ datepart
μ λ°λΌμ μ°¨μ΄μ κ³μ° λ¨μκ° λ¬λΌμ§λλ€.
λ μ§ κ°μ μ°¨μ΄ κ³μ°νκΈ°
μΌ κ°μ μ°¨μ΄ κ³μ°νκΈ°
λ λ μ§ μ¬μ΄μ μΌ κ°μ μ°¨μ΄λ₯Ό κ³μ°νλ €λ©΄ datepart
맀κ°λ³μλ₯Ό 'dd'
λ‘ μ€μ ν©λλ€. μλ₯Ό λ€μ΄, DATEDIFF('dd', '2022-01-01', '2022-01-10')
μ '2022-01-01'
κ³Ό '2022-01-10'
μ¬μ΄μ μΌ κ°μ μ°¨μ΄λ₯Ό λ°νν©λλ€. μ΄ κ²½μ° κ²°κ³Όλ 9μΌμ
λλ€.
μ£Ό κ°μ μ°¨μ΄ κ³μ°νκΈ°
λ λ μ§ μ¬μ΄μ μ£Ό κ°μ μ°¨μ΄λ₯Ό κ³μ°νλ €λ©΄ datepart
맀κ°λ³μλ₯Ό 'ww'
λ‘ μ€μ ν©λλ€. μ£Όμ μμμ μ¬μ©νλ DBMSμ λ°λΌ λ€λ₯Ό μ μμ΅λλ€. μλ₯Ό λ€μ΄, DATEDIFF('ww', '2022-01-01', '2022-01-10')
μ '2022-01-01'
κ³Ό '2022-01-10'
μ¬μ΄μ μ£Ό κ°μ μ°¨μ΄λ₯Ό λ°νν©λλ€. μ΄ κ²½μ° κ²°κ³Όλ 1μ£ΌμΌμ
λλ€.
μ κ°μ μ°¨μ΄ κ³μ°νκΈ°
λ λ μ§ μ¬μ΄μ μ κ°μ μ°¨μ΄λ₯Ό κ³μ°νλ €λ©΄ datepart
맀κ°λ³μλ₯Ό 'mm'
μΌλ‘ μ€μ ν©λλ€. μλ₯Ό λ€μ΄, DATEDIFF('mm', '2022-01-01', '2022-03-01')
μ '2022-01-01'
κ³Ό '2022-03-01'
μ¬μ΄μ μ κ°μ μ°¨μ΄λ₯Ό λ°νν©λλ€. μ΄ κ²½μ° κ²°κ³Όλ 2κ°μμ
λλ€.
μ°λ κ°μ μ°¨μ΄ κ³μ°νκΈ°
λ λ μ§ μ¬μ΄μ μ°λ κ°μ μ°¨μ΄λ₯Ό κ³μ°νλ €λ©΄ datepart
맀κ°λ³μλ₯Ό 'yy'
λ‘ μ€μ ν©λλ€. μλ₯Ό λ€μ΄, DATEDIFF('yy', '2022-01-01', '2024-01-01')
μ '2022-01-01'
κ³Ό '2024-01-01'
μ¬μ΄μ μ°λ κ°μ μ°¨μ΄λ₯Ό λ°νν©λλ€. μ΄ κ²½μ° κ²°κ³Όλ 2λ
μ
λλ€.
μκ° κ°μ μ°¨μ΄ κ³μ°νκΈ°
DATEDIFF ν¨μλ₯Ό μ¬μ©νμ¬ λ μκ° κ°μ μ°¨μ΄λ₯Ό κ³μ°νλ κ²λ κ°λ₯ν©λλ€. μ¬κΈ°μλ λ€μν μ¬μ© μ¬λ‘κ° μμ΅λλ€. μλ₯Ό λ€λ©΄ λ€μκ³Ό κ°μ΅λλ€:
μκ° κ°μ μ°¨μ΄ κ³μ°νκΈ°
λ μκ° μ¬μ΄μ μκ° κ°μ μ°¨μ΄λ₯Ό κ³μ°νλ €λ©΄ datepart
맀κ°λ³μλ₯Ό 'hh'
λ‘ μ€μ ν©λλ€. μλ₯Ό λ€μ΄, DATEDIFF('hh', '09:00:00', '13:30:00')
μ '09:00:00'
κ³Ό '13:30:00'
μ¬μ΄μ μκ° κ°μ μ°¨μ΄λ₯Ό λ°νν©λλ€. μ΄ κ²½μ° κ²°κ³Όλ 4μκ°μ
λλ€.
λΆ κ°μ μ°¨μ΄ κ³μ°νκΈ°
λ μκ° μ¬μ΄μ λΆ κ°μ μ°¨μ΄λ₯Ό κ³μ°νλ €λ©΄ datepart
맀κ°λ³μλ₯Ό 'mi'
λ‘ μ€μ ν©λλ€. μλ₯Ό λ€μ΄, DATEDIFF('mi', '09:00:00', '10:15:00')
μ '09:00:00'
κ³Ό '10:15:00'
μ¬μ΄μ λΆ κ°μ μ°¨μ΄λ₯Ό λ°νν©λλ€. μ΄ κ²½μ° κ²°κ³Όλ 75λΆμ
λλ€.
μ΄ κ°μ μ°¨μ΄ κ³μ°νκΈ°
λ μκ° μ¬μ΄μ μ΄ κ°μ μ°¨μ΄λ₯Ό κ³μ°νλ €λ©΄ datepart
맀κ°λ³μλ₯Ό 'ss'
λ‘ μ€μ ν©λλ€. μλ₯Ό λ€μ΄, DATEDIFF('ss', '09:00:00', '09:00:15')
μ '09:00:00'
κ³Ό '09:00:15'
μ¬μ΄μ μ΄ κ°μ μ°¨μ΄λ₯Ό λ°νν©λλ€. μ΄ κ²½μ° κ²°κ³Όλ 15μ΄μ
λλ€.
DATEDIFF ν¨μλ₯Ό μ¬μ©νμ¬ λ μ§ λ° μκ° κ°μ μ°¨μ΄λ₯Ό κ³μ°νλ κ²μ λ€μν μλ리μ€μμ μ μ©ν©λλ€. μ΄λ¬ν ν¨μλ₯Ό μ μ νκ² νμ©νμ¬ λ°μ΄ν° λΆμ λ° κΈ°κ° κ³μ°μ μνν μ μμ΅λλ€.
λκΈ