숫자를 다루는 함수
숫자를 다루는 함수들의 예시들이다.
select abs(-33);
select round(123.44, 1);
select ceil(123.44);
select floor(123.44);
select pow(5,3);
select rand();
select pi();
기능 | 함수 구조 | 예시 | 결과 |
절댓값 | abs(숫자) | abs(-33) | 33 |
반올림 | round(숫자, 소수점자리) | round(123.44, 1) | 123.4 |
올림 | ceil(숫자) | ceil(123.44) | 124 |
내림 | floor(숫자) | floor(123.44) | 123 |
거듭제곱 | pow(밑,지수) | pow(5,3) | 5^3 = 125 |
랜덤함수 | rand() | rand() | 0부터 1사이의 랜덤 변수 |
파이(π) | pi() | pi() | 3.141593 |
문자열을 다루는 함수
문자열을 다루는 함수들의 첫번째 예시들이다.
select trim(' 234 ');
select Ltrim(' 234 ');
select Rtrim(' 234 ');
select lower('ABCD');
select UPPER('abce');
select reverse('뒤집기');
select concat('문자열','여러개','결합');
select concat('값 중에' , null , '값이 있으면?');
select ifnull(null,'왼쪽값이 null이면 대체');
select coalesce (null, null, null,'나열된 값중null아닌 첫번째값으로', null);
기능 | 예시 | 결과 |
양쪽 공백 없애기 | trim(' 234 ') | '234' |
왼쪽 공백 없애기 | Ltrim(' 234 ') | '234 ' |
오른쪽 공백 없애기 | Rtrim(' 234 ') | ' 234' |
소문자로 바꿈 | lower('ABCD') | 'abcd' |
대문자로 바꿈 | UPPER('abce') | 'ABCD' |
문자열을 뒤집어 나열한다 | reverse('뒤집기') | '기집뒤' |
여러 문자열을 합친다 | concat('문자열','여러개','결합') | '문자열여러개결합' |
concat('값 중에' , null , '값이 있으면?') | NULL | |
첫번째 값이 null이면 두번째값으로 대체 | ifnull(null,'왼쪽값이 null이면 대체') | '왼쪽값이 null이면 대체' |
여러값 중 null값이 아닌 첫번째 값 | coalesce (null, null, null,'나열된 값중null아닌 첫번째값으로', null) | '나열된 값중null아닌 첫번째값으로' |
문자열을 다루는 함수들의 두번째 예시들이다.
select char_length('몇글자인가요?');
select replace('원본 문자열에서 변환합니다', '변환', 'replace');
select lpad('123', 5, '0');
select rpad('456', 5, '*');
select locate('D', 'ABCDEFG');
select locate('A', 'ABCDEFG',2);
-- (문장, 몇번째, 짜를 갯수)
select substring('employees', 3);
select substring('employees', 3, 3);
select substring('employees', -3);
기능 | 함수 구조 | 예시 | 결과 |
문자열길이를 출력 | char_length(문자열) | char_length('몇글자인가요?') | 7 |
문자열 중 문자를 찾아 치환 | replace(문자열,문자열에서 찾을 단어, 바꿀 문자열) | replace('원본 문자열에서 변환합니다', '변환', 'replace') | '원본 문자열에서 replace합니다' |
문자열 길이를 정해주고 빈공간인 문자열을 특정문자로 채워준다(왼쪽부터) | lpad(문자열,단어길이, 빈공간에넣을 문자열) | lpad('123', 5, '0') | '00123' |
문자열 길이를 정해주고 빈공간인 문자열을 특정문자로 채워준다(오른쪽부터) | rpad(문자열,단어길이, 빈공간에넣을 문자열) | rpad('456', 5, '*') | '456**' |
문자열에서 단어를 찾아 인덱스 번호를 알려준다 | locate(찾을단어, 문자열,[몇번째부터찾을지]) | locate('D', 'ABCDEFG') | 4 |
locate('A', 'ABCDEFG',2) | 0 | ||
문자열을 자른다 (음수일땐 문자열의 마지막에서 숫자를 세어 자른다) |
substring(문자열,자를지점,[끝지점]) | substring('employees', 3) | 'ployees' |
substring('employees', 3, 3) | 'plo' | ||
substring('employees', -3) | 'ees' |
시간을 다루는 함수
시간을 다루는 함수들의 예시들이다
select current_date();
select current_time();
select current_timestamp();
select date '2022-12-26' + interval 7 day;
select adddate('2022-12-26', 1);
select date_add('2022-12-26', interval 1 day);
select datediff('2022-06-26','2022-12-26');
select extract(year from '2022-06-26');
select dayofweek('2022-12-26');
기능 | 함수 구조 | 예시 | 결과 |
현재날짜 | current_date() | current_date() | 2023-01-16 |
현재시간 | current_time() | current_time() | 20:42:32 |
현재날짜시간 | current_timestamp() | current_timestamp() | 2023-01-16 20:42:32 |
interval을 붙이면 날짜를 계산가능하게 만들어준다 | interval | date '2022-12-26' + interval 7 day |
2023-01-02 |
날짜더하기(day만 가능) | adddate('날짜', 일(day)) | adddate('2022-12-26', 1) | 2022-12-27 |
날짜더하기(주,달,년 다 가능) | date_add('날짜', 더할 날짜) | date_add('2022-12-26', interval 1 day) | 2022-12-27 |
날짜 빼기 | datediff('시작날짜','끝날짜') | datediff('2022-06-26','2022-12-26') | -183 |
날짜에서 년, 월, 일, 시간등을 추출 | extract(추출할 타입 from '날짜') | extract(year from '2022-06-26') | 2022 |
요일 숫자로 나타내기 (1 : 일요일) |
dayofweek('날짜') | dayofweek('2022-12-26') | 2 |
'sql' 카테고리의 다른 글
MYSQL - JOIN문 (0) | 2023.01.16 |
---|---|
MYSQL - transaction문 (0) | 2023.01.16 |
MYSQL - CAST/ CONVERT 데이터 형 변환 (0) | 2023.01.13 |
MYSQL - UNION/GROUP BY/HAVING/DISTINCT (0) | 2023.01.12 |
MYSQL - 서브쿼리(Subquery) (0) | 2023.01.12 |