해당 글에서는 SQL Function을 구성하여 랜덤한 숫자를 반환하는 방법에 대해 알아봅니다. 1) 종료 범위만 존재하는 숫자 반환 💡 종료 범위만 존재하는 숫자 반환 - 1에서부터 시작해서 최대범위를 지정하는 랜덤 숫자를 만드는 함수를 구성합니다. 변수/파라미터 명 분류 타입 설명 _range 파라미터 INT 랜덤한 숫자의 최대 범위를 지정하는 파라미터 v_ret 변수 INT 최종 결과값을 반환하는 변수 💡 함수 설명 1. v_ret 결과값 내에 rand() 함수를 통해 랜덤 한 숫자를 반환받아 종료 범위를 곱한 뒤 최종 1을 더합니다. (* 1을 더하는 이유는 0의 값이 나오는 경우 최소값 1을 유지하기 위해 더 합니다) CREATE FUNCTION `f_randscore1` (_range int)..
해당 글에서는 SQL Function을 구성하여 랜덤 한 문자열 배열 내에 값 반환 방법에 대해 알아봅니다. 1) 랜덤 문자열 만들기 : SQL Function 내의 값 지정 방식 💡 랜덤 문자열 만들기 : SQL Function 내의 값 지정 방식 - 랜덤으로 추출할 문자열에서 구분자(,)를 두어서 문자열을 생성하여 그 중에 문자열을 반환받는 함수를 구성해 봅니다. - 해당 방식은 배열 형태를 가지는 문자열을 SQL Function 내부에 선언하여 사용하는 방식입니다. 파라미터/변수 명 분류 타입 설명 v_subject_arr 변수 VARCHAR(125) 랜덤으로 수행할 배열을 가지고 있는 변수 v_rand_index 변수 INT 랜덤 인덱스 값을 저장하는 변수 v_ret 변수 VARCHAR(31) 최..
해당 글에서는 SQL 함수를 이용하여 주어진 문자열 내에서 랜덤 한 문자열을 반환하는 방법에 대해 알아봅니다. 1) 문자열 내의 랜덤한 하나의 문자 반환 💡 문자열 내의 랜덤한 하나의 문자 반환 - 파라미터로 전달받은 문자열 내에서 랜덤한 하나의 문자를 반환하는 함수를 구성해 봅니다. 💡 f_rand1 - 문자열 중에서 하나의 단어를 랜덤으로 반환해 주는 함수입니다. 1. 파라미터로 받은 값(_str)의 길이를 반환하는 변수(v_len)를 선언합니다. 2. 결과값(v_ret)으로 substring 함수를 통해 파라미터로 받은 값을 rand() 함수를 통해서 하나의 값만 반환받습니다. 3. 최종결과값(v_ret)을 반환합니다. 변수/파라미터 명 분류 타입 설명 _str 파라미터 VARCHAR(255) 하나..
해당 글에서는 MySQL에서 발생하는 문제를 해결하기 위한 해결방법에 관련된 글입니다. 1) 문제점 💡 문제점 - MySQL Workbench 내에서 Function을 생성하는 중에 아래와 같은 에러가 발생하였습니다. ERROR 1418: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable) 💡 오류 발생 SQL문 - 아래와 같이 정상적으로 구성이 된 함수에서 아래의 오류가 발생하였습니다. CREATE FUNCTI..
해당 글에서는 MySQL에서 발생하는 문제를 해결하기 위한 해결방법에 관련된 글입니다. 1) 현상 확인 💡 현상 확인 - homebrew를 통해서 MySQL을 설치했고 루트 계정으로 로그인하려고 할 때 아래와 같은 문제가 발생하였습니다. 2) 해결 방법 💡 해결방법 - homebrew service로 MySQL이 백그라운드에서 실행중인지를 확인합니다. - 현재는 백그라운드에서 실행이 되지 않기에 수행하도록 명령어를 입력합니다. 💡 homebrew를 이용하여 MySQL 서비스를 실행하는 명령어를 수행하고 잘 되고 있는지 확인합니다. # MySQL 서비스 시작 $ brew services start mysql # MySQL 서비스 시작 확인 $ brew servives list 3) 결과 확인 💡 결과 확인..
해당 글에서는 MySQL을 최초 설치하고 GUI 툴인 workbench를 통해서 연결하여 간단한 테이블을 만드는 방법에 대해 이해를 돕기 위해 작성한 글입니다. 1) MySQL Workbench 설치 💡 MySQL Workbench 설치 - MySQL Workbench는 데이터베이스를 시각적으로 관리할 수 있는 GUI 도구입니다. 1. 아래 사이트에 접속하여 workbench를 다운로드합니다. 💡 아래 사이트에 접속하여 workbench를 다운로드합니다. - M1 프로세서를 사용하고 있어서 macOS(ARM)을 설치합니다. MySQL :: Download MySQL Workbench Select Operating System: Select Operating System… Microsoft Windows ..
해당 글에서는 MySQL에서 집계함수로 얻은 값을 조건절에서 사용하는 경우에 대해 알아봅니다 💡 [참고] 해당 문제를 참고하였으며, 해당 사용방법을 확인하실 수 있습니다. 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1) 예시 확인💡 해당 문제는 아래와 같으며 이를 기반으로 각각 사용하는 경우를 확인해봅니다. 2) 서브쿼리를 이용한 방법💡 서브쿼리를 이용한 방법 - 서브쿼리를 이용하여 결과를 임시로 저장하고 서브쿼리를 조건절에 참조할 수 있습니다. 💡 예시 확인 - 서브쿼리를 이용하여 결과를 임시로 저장(t2)하며 이를 참조하여서 결과를 조건절(WHERE)..
해당 글에서는 MySQL에서 DATETIME 타입을 DATE 타입으로 변환하는 방법에 대해 알아봅니다. 💡 [참고] 해당 문제를 참고하여 해당 변환방법을 확인하실 수 있습니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) DATE 💡 DATE() 함수 - 날짜 형식의 데이터에서 날짜 부분만 추출하는 함수입니다. 이를 통해 날짜 형식의 데이터에서 연월일 정보만 가져올 수 있습니다. MySQL DATE() Function W3Schools offers free online tutorials, references and exercises in all t..
해당 글은 MySQL에서 정렬을 할 때 대소문자를 구분하여 정렬하는 방법과 구분하지 않고 정렬하는 방법에 대해서 확인해 봅니다. 1) 문자열을 대소문자를 구분하지 않고 정렬💡 일반적으로 ORDER BY ~ 문을 사용하는 것은 대소문자를 구분하지 않고 정렬을 하는 방법입니다. 💡 [예시] - 동물 정보 테이블(ANIMAL_INS) 내에 NAME을 기준으로 대소문자를 구분하지 않고 정렬을 수행합니다.SELECT t1.ANIMAL_ID, t1.NAME FROM ANIMAL_INS t1 WHERE t1.NAME LIKE '%el%' AND t1.ANIMAL_TYPE = 'Dog' ORDER BY t1.NAME; 2) 문자열을 대소문자를 구분하여 정렬 방법💡 대소문자를 구분하여 정렬하는 방법은 ‘이진 형태’로 비..