DB

(MariaDB) SQL - Null 함수 / 날짜 함수 / 형 변환 함수

s2h15 2023. 11. 22. 15:10
728x90

 

1. Null

Null : 메모리가 존재하지 않는 값

' ' : 메모리는 존재하지만 값은 없는 것(white space) 

 

 

Null 값 함수
nvl ( 컬럼명 , null일 경우 대체할 값) 컬럼의 데이터 중 null 값에는 대체할 값을 출력하고 
null 이 아닐 경우 원래 데이터를 출력함
IFNULL ( 컬럼명 , null일 경우 대체할 값) 컬럼의 데이터 중 null 값에는 대체할 값을 출력하고 
null 이 아닐 경우 원래 데이터를 출력함
컬럼명 IS NULL null값을 찾아낸다
Where 절 내에서만 사용가능
IS NOT NULL null값이 아닌 경우를 찾아낸다

 

2. 날짜 함수

 

날짜 함수
NOW() 오늘 날짜 (년월일시분초)
CURDATE() 오늘 날짜(년월일)
CURTIME() 현재(시분초)
DATE_FORMAT(날짜 , 형식) 년도 - %Y : 2023 / %y  :  23
월 - %M : April / %m : 04 
일 - %D : 15th / %d : 15
시 - %H : 14  / %h : 02 (오후 2시)
분 - % i  : 40
초 - %s : 59

 

SELECT NOW() AS '오늘날짜' , CURDATE() AS '오늘 년월일',
		CURTIME() AS ' 오늘 시분초';

 

 

 

 

 

SELECT DATE_FORMAT('20231122144059','%Y-%m-%d  %H:%i:%s') AS dt1,
		DATE_FORMAT(NOW(),'%Y-%m-%d') AS dt2; 

 

 

 

-- 회원아이디, 회원이름, 회원생일 조회하기
-- 생일은 '년-월-일'형태로 조회
SELECT mem_id , mem_name , date_format(mem_bir , '%Y-%M-%D') AS mem_bir,
		date_format(mem_regno1 , '%Y-%m-%d') AS mem_regno1
FROM member;

▶ 주민등록번호 여섯자리를 날짜 형태로 만들어 줄 수 있다. 그러나 mem_regno1의 5번째 행처럼 2046 년으로 표기할 수도 있기 때문에 정확성은 떨어진다.

 

2. 형(타입) 변환 함수

 

형변환을 주로 사용하는 경우 : 문자타입의 날짜값을 날짜타입으로 바꾸고자 할때

Cast() or Convert()

SELECT CAST('20231122' AS DATE) , CONVERT('20231122',DATE);

728x90