최근 오라클만 계속 사용하다 보니, 정말 기본정보이지만 MySql을 제대로 해 본 적이 없어
자주 사용하는 명령어의 기본적인 차이점과 문법에 대해 공부겸 기록한다.
1. 현재 시간
! oracle은 sysdate
1) DATE 타입의 컬럼에 현재 날짜를 입력하고 싶을 때 NOW() 함수를 사용하는 방법
ex) select now() as time from dual;
: 2020-08-06 14:57:06.02) 날짜가 들어갈 컬럼(BOARD_YMD)의 데이터 타입을 TIMESTAMP DEFAULT NOW()를 주고
INSERT 시 DEFAULT값을 입력하는 방법
ex) CREATE TABLE USER(
USER_ID VARCHAR(20) NOT NULL,
USER_TYPE VARCHAR(10) NOT NULL,
CRE_DATE TIMESTAMP DEFAULT NOW(),
PRIMARY KEY(USER_ID)
);
insert into user values("rosebay","1",DEFAULT);
1-1. 현재 날짜 +- 처리(1년전/현재/1년후)
1-1-1) Oracle : select sysdate -365 as A, sysdate as B, sysdate+365 as C from dual;
19/09/08 | 20/09/07 | 21/09/07
1-1-2) Mysql
select date_add(now(),interval -365 day) as A, now() as B, date_add(now(),interval 365 day) as C from dual;
select date_add(now(),interval -12 Month) as A, now() as B, date_add(now(),interval 12 Month) C from dual;
select date_add(now(),interval -1 Year) as A, now() as B, date_add(now(),interval 1 Year) C from dual;
2019-09-08 15:06:01.0 | 2020-09-07 15:06:01.0 | 2021-09-07 15:06:01.0
2. NULL 치환
1) oracle
ex) select nvl(user_id,'1234') as id from dual;
2) mysql
ex) select infull(user_id,'1234') as id from dual;
3. 날짜 포맷 변환
1) oracle
ex) select to_char(sysdate,'YYYY-MM-DD HH:MI:SS') as time from dual;
=> 2020-08-06 04:00:50
2) mysql
! %Y는 4자리년도(2020)이고, %y는 2자리년도(20)이다. 즉, 대소문자에 따라 다르게 표기됨.
ex) select date_format(now(),'%Y-%m-%d %H:%i:%s') as time from dual;
=> 2020-08-06 15:59:56
4. 문자 합치기
1) oracle
select '**'||'test'||'**' as text from dual;
=> **test**
2) mysql
select concat('**','test','**') as text from dual;
=> **test**
'IT(job) > DB' 카테고리의 다른 글
[MySql] DDL, DML(작성중) (0) | 2020.09.23 |
---|---|
[MySql] Data 암호화, 복호화 함수, HEX (0) | 2020.09.09 |
[Oracle]자주쓰는, 알아두면 좋은 명령어들 (0) | 2020.07.02 |
평소 자주쓰는 DB Script 양식 (0) | 2020.07.02 |
[Oracle] 윤달이 낀 날짜계산 (0) | 2020.04.20 |