Infomation
status();
database();
user();
version();
- newmetic
abs(123);, abs(-123); 절대값
ceil(1.2); 올림 => 2
floor(1.2); 내림 => 1
round(4.4); 반올림 => 4
truncate(123.456, a) ;
a값 양수 = 소수점자리 a만큼 절삭
a값 음수 = 정수자리 a만큼 절삭
pow(a, b); 올림 a의 b승
mod(a, b); a % b 나머지 구하기
greatest(); 인자안 최대값 구하기
least(); 인자안 최소값 구하기
=> 인자에 2개있을때 두값을 비교해서 작은값 출력
=> 칼럼에 있는값과 정수값도 비교가능
- string
length(); 길이
ascii(); 아스키코드값 출력
select length(); 글자 길이 출력
select char_length(); 영어제외 단어 길이 출력
=> like '_ x 원하는 글자수' 로 대체 가능
select concat(ename, '님의 직책은 ', job, '입니다') from emp where deptno=10;
=> CLARK님의 직책은 MANAGER입니다
left('abcdefg', 5) 왼쪽부터 5칸
right('abcdefg', 5) 오른쪽부터 5칸
mid('abcdefg', 5, 5) 왼쪽에 5칸부터 5칸 더 출력
select empno, ename, sal
-> from emp
-> where left(ename, 1) = 's';
=> ename 항목에 왼쪽부터 첫번째글자가 s인거 출력
select replace
-> ('mariadb database study', 'study', '스터디');
study 를 스터디로 치환
select insert( 'mariadb database study' , 9, 8, '데이터베이스' );
9번째칸에서 8글자 잘라내고 데이터베이스 삽입
소문자화 : lcase();, lower();
대문자화 : ucase();, upper();
뒤집기 : reverse();
[l|r]+trim(); 공백제거
select lpad('hi', 4, '?');
hi를 왼쪽에서 4번째에 넣고 빈칸에 ?를 채움
문자 : lpad : 왼쪽 정렬
숫자 : rpad : 오른쪽 정렬
현재시간
select now(), sysdate(), current_timestamp();
now(); 대신 '2023-01-01' 형식으로 특정날자를 줄수있음
시간더하기
select now(), date_add(now(), interval 2 month);
2달후
시간빼기
select now(), date_sub(now(), interval 2 month);
2달전
select extract ( year from now() );
select empno, ename, timestampdiff( month, hiredate, now() ) from emp where deptno = 10;
데이터 포멧
select now(), date_format( now(), '%Y-%m-%d');
삼항연산자
select if( 1 = 2 , '참' , '거짓' );
Null을 계산할 수 있는 값으로 바꾸기
select sal, comm, ifnull( comm, 0 ) from emp;