logo

SQL 날짜 및 시간 함수

~ 안에 SQL , 데이터베이스 작업을 하는 동안 테이블의 데이터 형식이 삽입할 입력 데이터와 일치해야 하기 때문에 초보자에게는 날짜가 복잡합니다. 다양한 시나리오에서는 날짜 대신 날짜/시간(시간도 날짜와 관련됨)이 사용됩니다.

데이터베이스에 날짜 또는 날짜 및 시간 값을 저장하려면, MySQL 다음과 같은 데이터 유형을 제공합니다.

날짜 형식 YYYY-MM-DD
날짜 시간 형식: YYYY-MM-DD HH:MI: SS
타임스탬프 형식: YYYY-MM-DD HH:MI: SS
년도 YYYY 또는 YY 형식

이제 SQL 날짜 함수에서 널리 사용되는 몇 가지 함수를 살펴보겠습니다.

지금()

현재 날짜와 시간을 반환합니다.

pyspark

질문:

SELECT NOW();>

산출:

이제 메소드 출력 이미지

날짜()

현재 날짜를 반환합니다.

질문:

SELECT CURDATE();>

산출:

출력2

커타임()

현재 시간을 반환합니다.

질문:

SELECT CURTIME();>

산출:

출력3

날짜()

날짜 또는 날짜/시간 표현식의 날짜 부분을 추출합니다. 예: 'Test'라는 아래 테이블의 경우

ID 이름 출생시간
4120 관행 1996-09-26 16:44:15,581

질문:

SELECT Name, DATE(BirthTime)  AS BirthDate FROM Test;>

산출:

이름 생일
관행 1996-09-26

발췌()

날짜/시간의 단일 부분을 반환합니다.

통사론

EXTRACT(단위 FROM 날짜);

여러 단위를 고려할 수 있지만 다음과 같은 일부만 사용됩니다. MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 등 그리고 '날짜'는 유효한 날짜 표현입니다. 예: 'Test'라는 아래 테이블의 경우

ID 이름 출생시간
4120 관행 1996-09-26 16:44:15,581

질문:

SELECT Name, Extract(DAY FROM  BirthTime) AS BirthDay FROM Test;>

산출:

이름 생일
관행 26

질문:

SELECT Name, Extract(YEAR FROM BirthTime) AS BirthYear FROM Test;>

산출:

이름 생년
관행 1996 년

질문:

SELECT Name, Extract(SECOND FROM  BirthTime) AS BirthSecond FROM Test;>

산출:

이름 출생두 번째
관행 581

DATE_ADD()

날짜에 지정된 시간 간격을 추가합니다.

통사론:

DATE_ADD(날짜, INTERVAL 표현식 유형);

여기서 날짜 – 유효한 날짜 표현식이고 expr은 추가하려는 간격의 수입니다. 유형은 다음 중 하나일 수 있습니다: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR 등. 예: 'Test'라는 아래 테이블의 경우

ID 이름 출생시간
4120 관행 1996-09-26 16:44:15,581

질문:

SELECT Name, DATE_ADD(BirthTime, INTERVAL  1 YEAR) AS BirthTimeModified FROM Test;>

산출:

이름 출생 시간 수정됨
관행 1997-09-26 16:44:15,581

질문:

SELECT Name, DATE_ADD(BirthTime,  INTERVAL 30 DAY) AS BirthDayModified FROM Test;>

산출:

이름 생일 수정됨
관행 1996-10-26 16:44:15,581

질문:

SELECT Name, DATE_ADD(BirthTime, INTERVAL  4 HOUR) AS BirthHourModified FROM Test;>

산출:

이름 출생두 번째
관행 1996-10-26 20:44:15,581

DATE_SUB()

날짜에서 지정된 시간 간격을 뺍니다. DATE_SUB의 구문은 DATE_ADD와 동일하지만 차이점은 DATE_SUB가 지정된 날짜 간격을 빼는 데 사용된다는 것입니다.

날짜IFF()

두 날짜 사이의 일수를 반환합니다.

배쉬 배열

통사론:

DATEDIFF(날짜1, 날짜2);

date1 & date2 - 날짜/시간 표현

질문:

SELECT DATEDIFF('2017-01-13','2017-01-03') AS DateDiff;>

산출:

날짜 차이
10

날짜 형식()

날짜/시간 데이터를 다양한 형식으로 표시합니다.

통사론:

DATE_FORMAT(날짜,형식);

날짜는 유효한 날짜이고 형식은 날짜/시간에 대한 출력 형식을 지정합니다. 사용할 수 있는 형식은 다음과 같습니다.

  • %a - 축약된 요일 이름(일~토)
  • %b-약식 월 이름(Jan-Dec)
  • %c-월, 숫자(0-12)
  • %D-일(영문접미사 포함) (0th, 1st, 2nd, 3rd)
  • %d-월의 날짜, 숫자(00-31)
  • %e-월의 날짜, 숫자(0-31)
  • %f-마이크로초(000000-999999)
  • %H시간(00-23)
  • %h-시간(01-12)
  • %I-시간(01-12)
  • %i-분, 숫자(00-59)
  • %j-연도의 날(001-366)
  • %k시간(0-23)
  • %l-시간(1-12)
  • %M-월 이름(1월~12월)
  • %m-월, 숫자(00-12)
  • %p-AM 또는 PM
  • %r-시간, 12시간(hh:mm: ss 다음에 AM 또는 PM이 옴)
  • %S-초(00-59)
  • %s-초(00-59)
  • %T-Time, 24시간(hh:mm:ss)
  • %U-Week(00-53) 여기서 일요일은 주의 첫 번째 날입니다.
  • %u-Week(00-53) 여기서 월요일은 주의 첫 번째 날입니다.
  • %V-Week(01-53) 여기서 일요일은 주의 첫 번째 날이며 %X와 함께 사용됩니다.
  • %v-Week(01-53) 여기서 월요일은 주의 첫 번째 날이며 %x와 함께 사용됩니다.
  • %W-요일 이름(일요일~토요일)
  • %w-요일(0=일요일, 6=토요일)
  • 일요일이 주의 첫날인 주의 %X-연도, 4자리, %V와 함께 사용됨
  • 월요일이 주의 첫 번째 날인 주의 %x-연도, 4자리, %v와 함께 사용됨
  • %Y-연도, 숫자, 4자리
  • %y-연도, 숫자, 두 자리