Server/MariaDB
[MariaDB] 분석 함수
1. lead() 다음 데이터 와이 값의 차이를 표시합니다. select BusinessName, SupplyPrice - (lead(SupplyPrice, 1) over (order by SupplyPrice desc)) as '차액' from tb_purchasebill tp ; 위 예제는 SupplyPrice라는 값을 기준으로 다음에 나오는 SupplyPrice와의 차이를 표시하도록 합니다. 예제에서 함수에 전달한 1 값은 다음 1번째 행을 의미합니다. 2. lag() lead()와 동일한 개념이며 단지 '다음행'이 아닌 '이전행'의 데이터 차이를 표시한다는 차이 뿐입니다. select BusinessName, SupplyPrice - (lag(SupplyPrice, 1) over (order by..
[MariaDB] 순위 함수
1. row_number() row별로 순차적으로 번호를 부여합니다. 아래 예제는 tb_purchasebill 테이블에서 BillNo 순서대로 번호를 부여하여 표시하도록 합니다. select row_number () over(order by BillNo asc) as number, BusinessName from tb_purchasebill tp; 전체적인 순서가 아닌 그룹별로 순서를 표시하고자 한다면 partition을 사용해야 합니다. 따라서 다음 쿼리는 BusinessName별로 각각 순번을 부여하게 됩니다. select row_number () over(partition by tp.BusinessName order by tp.BillNo asc) as number, tp.BusinessName f..
[MariaDB] 시스템 함수
1. user() 현재 사용자를 반환합니다. select user(); 2. database() 현재 사용 중인 DB명을 반환합니다. select database(); 3. version() 현재 MariaDB으 버전 정보를 반환합니다. select version(); 4. sleep(초) '초'만큼 쿼리의 시간을 지연합니다. select sleep(5);
[MariaDB] 날짜/시간 함수
1. adddate(날짜, 값) '날짜'에서 '값'만큼의 날짜를 더한 값을 반환합니다. select adddate('2021-01-01', interval 1 month); 2. subdate(날짜 , 값) '날짜'에서 '값'만큼의 날짜를 뺀 결과를 반환합니다. select subdate('2021-02-01', interval 1 month); 3. addtime(시간, 값) '시간'에서 '값'만큼의 시간을 더한 값을 반환합니다. select addtime('2021-01-01 00:00:00', '1:1:1'); -- 1시간 1분 1초를 더한다. 4. subtime(시간, 값) '사간'에서 '값만큼의 시간을 뺀 결과를 반환합니다. select subtime('2021-01-02 00:00:00', '..
[MariaDB] 수학 함수
1. abs (숫자) 숫자의 절댓값을 반환합니다. select abs(10); 2. ceiling (숫자) 숫자의 올림값을 반환합니다. select ceiling(3.4); 3. floor (숫자) 숫자의 내림값을 반환합니다. select floor(3.4); 4. round (숫자) 숫자의 반올림값을 반환합니다. select round(3.6); 5. conv (숫자, 진수 1, 진수 2) '진수 1'은 숫자의 원래 진수를, '진수 2'에는 변환할 진수를 지정하여 '숫자'를 '진수 2'로 변환합니다. select conv('abc', 16, 2); 6. mod (숫자 1, 숫자 2) '숫자 1'을 '숫자 2'로 나눈 나머지 값을 반환합니다. select mod(161, 2); 7. rand 0 이상 1..
[MariaDB] 문자열 함수
1. ascii (문자) 문자의 Ascii 코드값을 반환합니다. select ascii('a'); 2. char (숫자) 숫자(아스키코드값)에 해당하는 문자 값을 반환합니다. select char(97); 3. bit_length (문자열) 주어진 문자열의 크기를 반환합니다. select bit_length('abc'); 4. char_length (문자열) 주어진 문자열의 길이를 반환합니다. select char_length('abc'); 5. length (문자열) 주어진 문자열에 할당된 Byte 수를 반환합니다. select length('abc'); 참고로 영문, 숫자의 경우에는 1byte를 한글의 경우에는 2byte를 할당합니다. 6. concat (문자열1, 문자열 2...) 주어진 문자열을 ..
[MariaDB] 흐름제어 함수
1 IF (조건, 참, 거짓) 주어진 조건이 참이면 '참'을 아니면 '거짓'을 실행합니다. select if (1=1, '참', '거짓'); 2 IFNULL (조건, 실행) 조건이 NULL이면 '조건'을 아니면 '실행'을 반환합니다. select ifnull(null, 'NULL이다.'); 3 NULLIF (조건1, 조건2) '조건1'과 '조건2'기 같으면 NULL을 아니면 '조건1'을 반환합니다. select nullif(1, 2); -- 1반환
[MariaDB] 데이터형식
1. 숫자 형식 바이트 범위 bit(n) n/8 tinyint 1 -128 ~ 127 smallint 2 -32,768 ~ 2,767 mediumint 3 -8,388,608 ~ 8,388,607 int / integer 4 -21억 ~ 21억 bigint 8 -900경 ~ 900경 float 4 -3,40E+38 ~ 1.17E-38 double / real 8 -1.22E-308 ~ 1.79E+308 decimal(m, [d]) / numeric(m, [d]) 5~17 -1038+1 ~ 1038-1 decimal / numeric 에서 m은 전체자리수를, d는 소수점 이하 자리수를 의미합니다. 숫자형식에서 부호없는 정수를 지정할 수도 있는데 이런경우 -로 표현될 비트를 사용하게 되어서 -값은 표현할 수..