본문 바로가기
반응형

SQL/MySQL66

MySQL 날짜 포맷 사용방법 정리(DATE_FORMAT) MySQL에서는 DATE_FORMAT 함수를 사용해 날짜 포맷을 지정하거나 변경해줄 수 있는데 사용방법은 DATE_FORMAT(날짜, '포맷') 이렇게 사용해주면 된다 포맷에는 지정된 값을 넣어서 원하는 형식으로 만들 수 있는데 리스트는 아래와 같다 %Y 4글자 년 %T hh:mm:ss %y 2글자 년 %r hh:mm:ss AM/PM %m 2글자 월(ex : 01, 12) %M 월(영문 전체 March) %c 월(ex: 1, 12) %b 월(영문 축약 Mar) %d 2글자 일(01, 30) %W 일(영문 전체 Monday) %e 일(ex: 1, 30) %a 일(영문 축양 Mon) %H 24시간 시간 %i 분 %l 12시간 시간 %S 초 %값 + 원하는 글자를 조합해서 포맷을 만들게 되는데 실전에서 자주 .. 2021. 3. 30.
MySQL 날짜 더하는 방법 빼는 방법(DATE_ADD DATE_SUB) MySQL에서는 DATE_ADD DATE_SUB 함수를 사용해서 날짜를 더하고 뺄 수 있는데 DATE_ADD(날짜, INTERVAL 변경값 년/월/일/시/분/초) DATE_SUB(날짜, INTERVAL 변경값 년/월/일/시/분/초) 이런 식으로 사용해주면 되고 년/월/일/시/분/초 중 선택하려면 년 - YEAR 월 - MONTH 일 - DAY 시 - HOUR 분 - MINUTE 초 - SECOND 는 위의 값만 바꿔주면 된다 간단히 예제를 뽑아보자면 DATE_ADD(날짜, INTERVAL 1 HOUR) 날짜에 1시간 더하기 DATE_ADD(날짜, INTERVAL 1 DAY) 날짜에 하루 더하기 DATE_ADD(날짜, INTERVAL -1 MONTH) 날짜에 한달 빼기 마지막으로 중요한 점은 DATE_AD.. 2021. 3. 29.
MySQL RAND 함수 사용법 및 범위 지정방법 MySQL에서 RAND() 함수를 사용해주면 랜덤 값을 소수 형태로 구할 수 있는데 RAND(시드); 시드 안에 숫자를 넣어주면 랜덤 값이 특정 값으로 고정되어 나오게 된다 즉 RAND()를 사용 시 매번 다른 값이 나오지만 RAND(시드) 사용 시에는 같은 값이 계속 나온다 다음으로 RAND 값을 이용해 INT 형태의 값을 구하거나 특정 범위의 값만 뽑아오려면 소수점을 모두 버려주는 FLOOR를 사용해주면 되는데 FLOOR(RAND() * 범위) 범위에 10을 넣으면 0~9 100을 넣으면 0~99 안의 숫자가 나오게 된다 마지막으로 소수에 범위를 걸어줄 경우에는 ROUND 혹은 TRUNCATE를 사용해주면 되는데 ROUND(RAND(), 소수자리수) 소수자리수에 1을 넣으면 소수 첫째 자리까지 2를 .. 2021. 3. 16.
MySQL 소수점 반올림 올림 내림 사용방법 정리 MySQL에서 반올림 올림 내림을 사용 시에는 ROUND CEIL FLOOR TRUNCATE 를 사용해주면 되는데 사용방법은 차례대로 알아보자 먼저 ROUND(값, 자릿수); 를 이용해 반올림을 해줄 수 있는데 자릿수를 넣지 않을 경우에는 소수를 모두 반올림 시켜버리고 자리수를 넣을 경우에는 자리수 위치까지 반올림을 수행하게 된다 avg decimal 시간 float 등과 병행할 시에도 값 위치와 자릿수만 기억해주면 된다 다음으로는 올림인데 CEIL(값) 을 사용해주면 소수점을 모두 올려준다 내림은 FLOOR(값) 을 사용해주면 소수점을 모두 버려준다 마지막으로 TRUNCATE(값, 자리수) 를 사용해주면 소수점을 모두 버리는 대신 자리수까지 버려줄 수 있다 마지막으로 예제에 사용한 쿼리는 아래와 같다 .. 2021. 3. 15.
MySQL 현재 실행중인 쿼리 확인 및 강제 중단방법 MySQL에서 DB에서 수행중인 쿼리 중 INSERT, UPDATE 쿼리에서 너무 오랜 시간을 소모할 경우 다른 곳에서 해당 테이블을 수정하지 못하기 때문에 슬로우 쿼리의 경우에는 직접 제거해야 하는 경우도 있는데 먼저 SHOW PROCESSLIST SHOW FULL PROCESSLIST 를 사용해 조회해주면 현재 DB에서 어떤 쿼리가 수행중인지 확인할 수 있는데 ID 컬럼의 값이 INFO 컬럼의 쿼리를 수행한다고 보면 된다 여기서 PROCESSLIST 앞에 FULL을 붙여주면 INFO 컬럼에서 쿼리가 최대 100글자 제한이 아니라 전체 쿼리를 볼 수 있게 된다 마지막으로 특정 ID에서 수행하는 쿼리를 강제로 중단시키려면 KILL ID명; 을 해주면 해당 ID에 해당하는 쿼리가 바로 중단된다 2021. 3. 11.
MySQL 프로시저 함수 디버깅 하는 방법 일단 MySQL에서 프로시저(Procedure) 함수(Function)를 디버그 하려는 경우에는 디버그 기능 자체가 없기 때문에 오라클처럼 편하게 디버깅이 불가능하다 하지만 방법이 아예 없는 건 아니고 먼저 위 쿼리를 보고 디버그 로그를 담을 테이블을 만들어 준다 CREATE TABLE 스키마명.log_table ( num int DEFAULT NULL, msg varchar(255) DEFAULT NULL, date datetime DEFAULT NULL ) 다음은 디버그 용도로 사용할 프로시저를 만들어 줘야하는데 역시 아래 쿼리를 그대로 옮겨주면 된다 CREATE PROCEDURE 스키마명.PROC_LOG(MSG VARCHAR(255)) BEGIN INSERT INTO 스키마명.LOG_TABLE VA.. 2021. 3. 10.

반응형