본문 바로가기

DataBase15

[MySQL] 정규표현식 연산자 REGEXP로 이메일 양식 검증 해보기 정규표현식 함수 REGEXP를 활용하여 구하고자 하는 조건에 맞는 데이터를 추출하는 방법에 대하여 알아보고자 한다.정규 표현식(Regular Expression)정규 표현식이란, 문자열을 다룰 때 문자열의 일정한 패턴을 표현하는 일종의 형식 언어이다.따라서 요점은 '패턴을 어떻게 표현하는가' 이다.각 패턴이 무슨 의미인지는 표로 잘 정리된 페이지들이 많을 뿐더러 표만 봐서는 잘 와닿지 않기 때문에예제를 통해 접근해보려 한다.예제) 이메일 양식패턴화하고자 하는 이메일 양식의 조건은 다음과 같다.이메일은 '이름@도메인.com' 과 같은 양식을 따른다.이름 부분은 알파벳 대소문자 및 언더바(_)로만 이루어지며, 길이는 2~10글자이다.도메인 부분은 알파벳 대소문자로만 이루어지며, 길이는 2~10글자이다.위 조.. 2024. 10. 23.
[MySQL] CHAR vs VARCHAR / 기존에 알던 선택 기준이 흔들리다 기존의 선택기준 - '저장할 데이터가 가변적이면 VARCHAR, 아니면 CHAR'두 타입은 모두 공통적으로 문자열을 저장하는 용도로 사용되며, 최대 저장 가능 길이를 명시한다는 공통점이 있으나, 뚜렷한 차이를 비교하자면 아래와 같습니다.CHARVARCHAR값의 실제 크기와 관계없이 지정된 크기만큼의 저장공간 할당값의 실제 크기만큼의 저장공간 할당 따라서, DB를 설계할 때 저장할 데이터의 크기가 고정되어 있다면 CHAR을 선택하고, 가변적이라면 VARCHAR를 선택해왔습니다.하지만 이는 상황에 따라 맞기도 하고 틀리기도 합니다. VARCHAR 대신 CHAR를 사용했을 때의 문제점CHAR는 실제 저장되는 값의 크기가 얼마든, 지정된 크기만큼의 저장공간을 할당하기 때문에 저장되는 데이터의 크기의 편차가 클 .. 2024. 6. 18.
[MySQL] 초 단위 시간차이 계산 이번 하나은행 상반기 코테에서 SQL 두번째 문제로 초 단위의 시간계산이 필요한 문제가 나왔다.DATEDIFF()를 활용한 날짜 계산은 익숙했지만 다른 시간 단위의 계산은 미처 생각하지 못해 당황스러웠다.시간 유닛을 매개변수로 사용하는 뭔가가 있었던 거 같은데,,, 했으나 끝끝내 떠올리지 못했다. 시험이 끝난 후 찾아보니 TIMESTAMPDIFF(단위, 날짜1, 날짜2) 라는 함수가 있더라.함수명이 생소한 거 보니 떠올리지 못한 게 아니라 그냥 몰랐던 듯하다. 엄,, 그래서, 초 계산 그거 어떻게 하는 건데 TIMESTAMPDIFF(단위, 날짜1, 날짜2)단위로는 SECOND, MINUTE, HOUR, WEEK, MONTH, YEAR 등이 사용가능하고,날짜1이 날짜2보다 이른 시점일 때 계산 결과가 양수.. 2024. 4. 8.
[SQL] MySQL에서의 비트연산 / 프로그래머스 Front End 개발자 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/276035 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 탐색 이번 문제는 SQL 문제를 풀면서 처음으로 비트연산을 다뤄보게된 문제입니다. 비트연산 중에서 AND(&) 연산을 사용하는데요. SKILLCODES 테이블의 CODE 컬럼값의 의미를 살펴보면, 해당 값을 이진수로 변환했을 때 1로 표현되는 bit는 그 기술을 가지고 있다는 의미라고 합니다. 즉, 예를 들어 어떤 개발자의 SKILL_CODE가 400 (=b'110010000')이라면, 이.. 2024. 3. 24.