logo

테이블 생성 시 날짜 형식을 지정하고 SQL로 채우는 방법은 무엇입니까?

데이터베이스 작업을 할 때마다 거의 모든 단일 테이블에 날짜 열이 포함되어 있다는 것을 알게 됩니다. 결국, 데이터를 분석하는 데 있어서 데이터의 날짜는 중요한 역할을 합니다. 특정하거나 이해할 수 있는 형식으로 날짜를 저장하는 것은 매우 중요합니다. 이 기사에서는 SQL Server에서 날짜 형식을 지정하는 방법을 알아 보겠습니다.

데모 데이터베이스와 테이블을 만들어 보겠습니다.



1 단계: 데이터베이스 만들기

데이터베이스를 생성하려면 다음 명령을 사용하십시오.

질문:



CREATE DATABASE User_details;>

2 단계: 데이터베이스 사용

질문:

USE User_details;>

3단계: 테이블 정의



데이터베이스에는 다음 GFG_user 테이블이 있습니다.

질문:

CREATE TABLE GFG_user(Id INT NOT NULL,Dt DATE, Address VARCHAR(100),Dt_FORMATTED AS (convert(varchar(255), dt, 104)), PRIMARY KEY (Id) );>

산출:

여기서는 형식이 지정된 날짜를 저장할 Dt_FORMATTED라는 열을 만들었습니다.

이제 우리는 전환하다() 기능. CONVERT() 함수는 단순히 모든 유형의 값을 지정된 데이터 유형으로 변환합니다.

통사론:

CONVERT ( data_type ( length ) , expression , style )>

이 함수를 사용하여 문자열을 날짜로 캐스팅합니다. 스타일 논쟁 대신에 우리는 다음과 같이 언급했습니다. '104' . 날짜 형식을 지정하는 숫자 코드입니다.

저장된 프로그램 제어

다양한 형식에 사용되는 다양한 코드를 보려면 이 표를 확인하세요.

세기와 함께

(yy)

세기와 함께

(yyyy)

기준

입출력

0 또는 100(1.2)

날짜/시간의 기본값

그리고 작은 날짜 시간

월 일 년 년 hh:

miAM(또는 PM)

1 101 우리를.

1 = mm/dd/yy

101 = mm/dd/yyyy

2 102 ANSI

2 = yy.mm.dd

102 = yyyy.mm.dd

103 영국식/프랑스식

3 = 일/월/년

103 = dd/mm/yyyy

4 104 독일 사람

4 = dd.mm.yy

104 = dd.mm.yyyy

열하나 111 일본

11 = yy/mm/dd

111 = yyyy/mm/dd

12 112 ISO

12 = ymmdd

112 = yyyymmdd

유한 상태 기계
13 또는 113(1.2) 유럽 ​​기본값 + 밀리초 dd mon yyyy hh:mi:ss:mmm (24시간)
131 (2) 히즈리(5) dd/mm/yyyy hh:mi:ss:mmmAM

여기서는 가장 많이 사용되는 10가지 형식만 언급했습니다.

4단계: 값 삽입

다음 명령은 테이블에 값을 삽입하는 데 사용됩니다.

질문:

SET DATEFORMAT dmy; INSERT INTO GFG_user (Id, Dt, Address) VALUES ('1','23.11.2021', 'German');>

이 쿼리에서 우리는 그만큼 날짜 형식 환경.

통사론:

SET DATEFORMAT format>

문자열을 삽입할 때 서버는 문자열을 테이블에 삽입하기 전에 문자열을 날짜로 변환하려고 시도합니다. 날짜 이전의 달을 넣을 것인지, 해당 달의 이전 날짜를 넣을 것인지 알 수 없기 때문입니다. 예를 들어, 06.07.2000을 삽입하려고 한다고 가정합니다. 서버는 날짜가 7월 6일인지 6월 7일인지 감지할 수 없습니다. DATEFORMAT을 언급하지 않으면 대부분의 경우 작업을 실행하는 계정이 미국 형식으로 설정되어 있기 때문에 오류가 발생할 수 있음을 파악하기 위해 작동 중인 사용자 계정의 현지화 설정을 사용하지만, 즉 – 월 일 연도(mdy) .

자바 버전 리눅스

다른 이름으로 저장하려고 했기 때문에 오류가 발생했습니다. 디미 , 아니다 엠디 . 그러나 DATEFORMAT을 사용하면 이를 제거하는 데 도움이 됩니다.

산출:

테이블 작업이 완료되었습니다. 이제 원하는 출력을 얻었는지 여부를 확인해 보겠습니다.

5단계: 테이블의 데이터 보기

질문:

SELECT * FROM GFG_user;>

산출:

Dt_FORMATTED 열에서 독일어 형식의 날짜를 성공적으로 얻었습니다.

데이터베이스에 날짜를 삽입하는 또 다른 접근 방식:

SQL의 'to_date' 함수를 사용하여 날짜를 삽입할 수도 있습니다. 다음 구문을 사용할 수 있습니다.

TO_DATE([value], [format]);>

날짜 형식은 다음과 같은 다양한 유형이 될 수 있습니다. 'dd-mm-yyyy' , 'yyyy-mm-dd' , 'mm-dd-yyyy' .

예:

CREATE TABLE GFG_INTERN (e_name VARCHAR(20), e_id number, joiningDate date); INSERT INTO GFG_INTERN VALUES ('FirstIntern', 001, to_date('2022-12-12','yyyy-mm-dd')); INSERT INTO GFG_INTERN VALUES ('SecondIntern', 002, to_date('2022-Dec-12','yyyy-mm-dd')); INSERT INTO GFG_INTERN VALUES ('ThirdIntern', 003, to_date('30-12-2022','dd-mm-yyyy')); INSERT INTO GFG_INTERN VALUES ('FourthIntern', 004, to_date('12-31-2022','mm-dd-yyyy')); SELECT * FROM GFG_INTERN;>

SQL 명령

산출:

산출