일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- sql
- Native
- sqlite
- Admob
- 시놀로지
- 안드로이드
- Android
- 로또
- mysql
- springboot
- expo
- YAML
- 이클립스
- yml
- 배포
- 앱
- sts
- string
- 폰트
- 자바스크립트
- DB
- 시큐리티
- spring
- react
- sdk
- thymeleaf
- Java
- 스프링
- EAS
- Navigation
- Today
- Total
목록옛날 창고/SQL (29)
Dev JS Blog
MySQL 특정 문자열로 자르기 SELECT 'A>B>C' AS depth FROM DUAL A>B>C 라는 depth 컬럼이 있다. 구분자 '>' 를 기준으로 문자열을 자르고 싶다면 substring_index 를 이용한다. substring_index(컬럼,구분자,구분자 인덱스) SELECT substring_index('A>B>C','>',1) AS DEPTH FROM DUAL 결과) A SELECT substring_index('A>B>C','>',2) AS DEPTH FROM DUAL 결과) A>B 두번째 구분자 까지 결과값이 나온다. 그럼 B 만 나오게 하려면 어떻게 짤라야할까..? B 다음과 그 전(-1)을 짜르면 된다. SELECT substring_index(substring_index(..
mysql 에서 날짜를 더하고 빼고 싶을때는 어떻게 해야할까..? 바로 date_add를 이용하면된다. SELECT DATE_ADD(date형식, INTERVAL 숫자 원하는곳) FROM dual 포맷 결과 INTERVAL 1 day 1일 추가 INTERVAL 1 month 1달 추가 INTERVAL 1 hour 1시간추가 INTERVAL 1 minute 1분추가 INTERVAL 1 second 1초추가 반대로 빼는건 -1 마이너스로 하면 된다.
기본적으로 툴에서 이렇게 실행해본다. 현재 날짜와 시간이 나온다. 근데 실제 데이터는 툴의 날짜 포맷 설정대로 나오는 것일뿐.. 실제 데이터는 ms까지 다 찍힌다는 것..! 언제나 그렇듯 개발을 하다보면 내가 원하는 데이터로 포맷변환을 해줘야한다는것 기본적으로 이렇게 포맷을 해줄수가 있다. select date_format(now(),'%Y-%m-%d %T') from dual; 이렇게 결과가 나오지만 대소문자에 따라 결과는 다르게 나온다. 포맷 결과 %y 21(년 뒷자리2자리만) %Y 2021(년) %m 01(일) %M January(영어 월) %T(기본적으로 대문자만) 시간:분:초 원하는 포맷형식으로 쿼리를 짜서 사용하기를
SQL Query의 기본인 Where절에 대해서 정리해보려한다. WHERE 에는 기본적으로 조건을 추가할때는 and, or 을 사용 할 수 있다. where 처음 조건 and 두번째 조건 and 세번째 조건 AND 는 교집합, OR 는 합집합 이므로 OR 은 괄호를 잘해주어야한다.(이건 하다보면 느끼게된다..) 그럼 기본적인 조건 쿼리에 대해서 알려주겠다. penthouse 테이블이 있다. 여기서 주단태 만 보고싶다면..? 그럼 반대로 주단태만 안보고 싶다면? 그럼 주단태와 천서진을 보고싶다면? 이렇게..? 결과가 안나온다. 왜냐하면 AND 는 교집합 즉 name 이 주단태 이고 천서진 인 사람을 뽑았기 때문이다. 그럼 OR 를 이용해서 해야겠군..? 하면 원하던 주단태와 천서진이 나온다. 하지만 여기서..
쿼리를 짜다보면 기준 테이블로 1부터 10까지 혹은 1부터 100까지 있는 임시 테이블을 쿼리로 어떻게 짜야하나 싶을때가 있다. 그럴땐 with 문을 활용하자. 이렇게 해준다면 이렇게 깔끔한 결과가 나온다. 간단히 또 활용 가능한 것은 내가 원하는 기준년도 컬럼을 만들수가 있다. 이렇게 해준다면 2010 년 부터 2021 년까지의 년도 컬럼을 가지고 있는 임시테이블을 구성할 수 있으니 쿼리를 짤때 활용하면 된다. 추가로 날짜도 하는법을 추가 합니다. WITH RECURSIVE cte AS ( SELECT date_format('2020-01-01','%Y-%m-%d') AS dt FROM DUAL UNION ALL SELECT date_add(dt,INTERVAL 1 DAY) FROM cte WHERE ..
여기 펜트하우스 테이블 데이터가 있다. 여기서 각 로우마다 row number 을 부여하고 싶다면 ROW_NUMBER() OVER(ORDER BY 기준) 을 사용해주면된다. class 기준으로 row number 가 부여된다. over 안에 order by는 기존에 order by를 하는것과 동일한 기능이므로 심수련이 주단태보다 더 먼저 오게 하겠다면 name 도 정렬 기준에 넣어주면된다.
[MySQL] MySQL data convert MySQL 데이터 포맷 변경 방법!! SELECT convert('값',형식(크기)) FROM dual ex) SELECT convert('값',char(20)) FROM dual 로 쉽게 변경 가능하다. ex) SELECT convert('2020-01-01',datetime) FROM dual 하면 날짜타입으로 변경~
[MySQL] MySQL WITH 재귀쿼리 계층구조 보통 WITH 문 재귀쿼리 를 이용해서 계층 구조를 나타내는데 사용한다. 일단 재귀쿼리란..? 재귀 - 원래의 자리로 되돌아가거나 되돌아옴 이란 뜻을 갖고 있다. 쉽게 생각하면 같은걸 반복한다고 생각하면 쉬울까.. 즉 재귀쿼리는 한 쿼리가 반복되어 실행된다고 생각하면 된다. 이러한 반복 쿼리는 계층구조를 SELECT 할때 유용하게 쓰인다. 기본적으로 코드 테이블 구조를 만들때 code 와 parent_code(부모코드) 컬럼으로 구성하게 되면 계층구조로 select 하기 편해진다. WITH 문을 이용한 계층쿼리 부터 확인해보자 CODE_TABLE code parent_code a A b A A AA B AA AA 테이블 데이터가 이렇게 구성되어있다고 생..