
select EXTRACT(OOOO FROM current_timestamp) as dayOOOO 자리에 YEAR, MONTH, WEEK, DAY, HOUR, MINUTE, SECOND를 넣어주면 됨 예를 들어 연도를 구하려면오늘이 이번 년도의 몇 주차인지 구하려면 지금 몇초인지 구하려면

WITH date_series AS ( SELECT generate_series( date_trunc('MONTH', CONCAT('원하는 월', '-01')::date), date_trunc('MONTH', CONCAT('원하는 월', '-01')::date) + interval '1 month - 1 day', interval '1 day' )::date AS date_data ) SELECT COUNT(세고싶은 컬럼) AS 별명1, ds.date_data AS date_data FROM date_series ds LEFT JOIN 데이터를 가져올 테이블 AS 별명2 ON 별명1.date_data = 별명2.날짜담고있는 컬럼::date GROUP BY ds.date_data ORDER BY ds.da..
INSERT INTO table_name (a, b, c) SELECT #{a}, #{b}, #{c} WHERE NOT EXISTS ( SELECT 1 table_name WHERE a = #{a} AND b = #{b} ); WHERE NOT EXISTS를 사용하자!
일단 이번달의 달력을 뽑아보도록 하겠다 SELECT generate_series( date_trunc('MONTH', NOW()::DATE), date_trunc('MONTH', (NOW()::DATE + interval '1 MONTH')) - INTERVAL '1 DAY', interval '1 DAY' )::DATE AS monthly_date; > 설명 generate_series('시작' , '끝', '증감') 자바의 for문이라고 생각하변 편함. 시작~끝까지 일정한 간격으로 증가시키거나 감소시킬 수 있다. date_trunc('자를단위', '기준 날짜') DATE_TRUNC('DAY', NOW())를 하면 오늘 날짜가 2023.12.08이기때문에 2023.12.08로 값이 나오게된다. DATE..

SELECT Now(), Now() + interval '1YEAR' as year , -- 1년 뒤 now() + interval '1MONTH' AS month , -- 1달 뒤 now() + interval '1DAY' AS day , -- 1일 뒤 now() + interval '1HOUR' AS hour , -- 1시간 뒤 now() + interval '1MINUTES' AS minute , -- 1분 뒤 now() + interval '1SECOND' AS sceond; -- 1초 뒤 SELECT Now(), Now() - interval '1YEAR' as year , -- 1년 전 now() - interval '1MONTH' AS month , -- 1달 전 now() - interva..
카페24에서 따로 호스팅 받아서 공부해보려하는데 계속 DB관련 에러가 떴다. 계속 Access denied for user 'USERNAME'@'127.0.0.1' to database가 떠서 권한만 1억번 주고 재실행했는데 이전에 잘 실행됐던 프로젝트를 한 번 보자고 생각해서 들어가봤다 오류뜨던 application.properties spring.datasource.url=jdbc:mariadb://localhost:3306/'USERNAME' 고친 application.properties spring.datasource.url=jdbc:mariadb://localhost:3306/'USERNAME'?autoReconnect=true autoReconnect=true > DB와의 연결이 끊어진 경우 ..
SELECT * FROM `SHOW`; SHOW는 원래 예약어라 사용이 안되지면 백틱(`)을 이용하면 사용 가능하다! 작은따옴표 아님. 숫자 1 옆에있는 그거임. 물결에서 쉬프트 뗀 그거임.

SELECT FROM SELECT 는 원하는 데이터를 가져올 때 사용한다! SELECT * from 테이블명; * 은 테이블의 모든 데이터들을 보여달라는 뜻이다! 만약 테이블의 일정 데이터만 뽑아내고 싶다면 SELECT USERID, USERNAME, BIRTHYEAR FROM USERTBL; 요렇게 하면 된다. 이러면 USERTBL테이블의 아이디, 이름, 생년만 뽑아낼 수 있게 된다. 만약 아이디로 사람을 찾고싶다면 어떻게 해야할까? SELECT FROM WHERE 그럴 때 붙여주는 것이 WHERE 이다. 조건이 달린 데이터를 출력하는 것이다. SELECT userid, username, birthyear FROM usertbl WHERE userid = 'KBS'; USERTBL테이블의 USERID ..