MS SQL 와 Mysql 비교 - 날짜 Default 값 > db

본문 바로가기

db

MS SQL 와 Mysql 비교 - 날짜 Default 값

페이지 정보

작성자 서방님 댓글 0건 조회 40회 작성일 16-04-20 09:30

본문

■ 날짜 Default 값 

 

방법

테이블 만들기

MS-SQL

CREATE TABLE ProductDate(
 ProductID int NULL,
 ProductName varchar(50) NULL,
 -- 기본 값으로  데이터 입력되는 날짜시간 설정
 InsertedDate datetime NULL DEFAULT (getdate()) ,

-- 기본 값으로 데이터 입력되는 날짜시간으로 설정
 ModifiedDate datetime NULL DEFAULT (getdate()),  

 Primary Key ( ProductID )
)

Mysql

CREATE TABLE ProductDate(
  ProductID int, 
  ProductName varchar(50),
  -- 최초 데이타 입력 일자 시간 등록 되는 컬럼
  -- MySQL에서는 2개 이상에 Default값으로 시간 함수 넣을 수 없다. 
  InsertedDate TIMESTAMP DEFAULT '0000-00-00 00:00:00',
  --  데이타 수정된 일자 시간 등록 되는 컬럼
 ModifiedDate TIMESTAMP DEFAULT current_timestamp on update current_timestamp,
  Primary Key (ProductID)
  ) ;

   

 

방법

 데이터 입력하기

MS-SQL

INSERT INTO ProductDate(ProductID, ProductName ) 
VALUES ( 1000 , '갤럭시2', NULL ) ;

Mysql

INSERT INTO ProductTest(ProductID, ProductName, InsertedDate ) 
VALUES ( 1 , '갤럭시2', NULL ) ;  

-- InsertedDate 에 NULL 값을 넣어 줘야 현재 일자와 시간이 들어간다.

 

 

데이터 확인하기

 SQL문

SELECT ProductID, ProductName , InsertedDate , ModifiedDate 
FROM ProductDate ;

MS-SQL 

결과 

 ProductID  ProductName      InsertedDate                         ModifiedDate

1000           갤럭시2            2011-12-23 15:31:51.260       2011-12-23 15:31:51.260

Mysql 

결과 

 ProductID ProductName       InsertedDate                          ModifiedDate

1000          갤럭시2             2011-12-23 15:31:51.260        2011-12-23 15:31:51.260

  

 

방법

데이터 수정하기

MS-SQL

UPDATE ProductTest SET ProductName = '갤럭시S2LTE' , ModifiedDate = Getdate()

WHERE ProductID = 1000 ;

Mysql

UPDATE ProductTest SET ProductName = '갤럭시S2LTE'

WHERE ProductID = 1000 ;  

--ModifiedDate  에 on update 설정을 햇기 때문에

--수정 발생하면 ModifiedDate  에 수정일자와 시간이 자동으로 들어간다.

 

 

 

방법

데이터 확인하기

MS-SQL

 ProductID ProductName    InsertedDate                              ModifiedDate

1000          갤럭시S2LTE      2011-12-23 15:31:51.260         2011-12-23 15:35:11.260

Mysql

 ProductID ProductName    InsertedDate                              ModifiedDate

1000          갤럭시S2LTE      2011-12-23 15:31:51.260       2011-12-23 15:35:11.260

 

방법

  결   론

MS-SQL







--명확히 하는게 좋다.

INSERT INTO ProductDate(ProductID, ProductName , InsertedDate , ModifiedDate )
VALUES ( 1000 , '갤럭시2', Getdate(), Getdate() ) ;

-- MS-SQL은 원래 이 방법이 정석이고 명확하다. 
UPDATE ProductTest SET ProductName = '갤럭시S2LTE', ModifiedDate = Getdate()



WHERE ProductID = 1000 ; 

Mysql





CREATE TABLE ProductDate(
ProductID int,   ProductName varchar(50),
-- 최초 데이타 입력 일자 시간 자동 등록 되는 컬럼
InsertedDate TIMESTAMP DEFAULT  NOW() ,
-- 데이타 수정된 일자 기본값 없이 설정한다.

ModifiedDate DateTime NULL,
Primary Key (ProductID)
) ;

--신규로 데이터 입력 될 때 입력일과 수정일에 현재 일자를 넣어주자.

INSERT INTO ProductDate(ProductID, ProductName , InsertedDate , ModifiedDate )
VALUES ( 1000 , '갤럭시2', SysDate(), SysDate() ) ;

-- 수정 할 때 수정일자를 넣어준다.

UPDATE ProductDate SET ProductName = '갤럭시S2LTE', ModifiedDate = SysDate() 

WHERE ProductID = 1000 ;

 

 

댓글목록

등록된 댓글이 없습니다.

Total 447건 1 페이지
게시물 검색

회원로그인

접속자집계

오늘
139
어제
365
최대
592
전체
40,113

그누보드5
Copyright © seobangnim.com All rights reserved.
자바스크립트를 활성화 하세요![ 브라우저에서 자바스크립트를 활성화하는 방법 ]