본문 바로가기

Database22

[PostgreSQL] DATE_PART 사용하기 DATE_PART는 날짜 또는 시간 값에서 하위 필드를 추출하는 함수입니다. 추출 1. 연 SELECT DATE_PART('year', TIMESTAMP '2023-04-13'); -- 2023 2. 월 SELECT DATE_PART('month', TIMESTAMP '2023-04-13'); -- 4 3. 일 SELECT DATE_PART('day', TIMESTAMP '2023-04-13'); -- 13 4. 시분초 SELECT date_part('hour',TIMESTAMP '2023-04-18 12:34:56') h, date_part('minute',TIMESTAMP '2023-04-18 12:34:56') m, date_part('second',TIMESTAMP '2023-04-18 12:34.. 2023. 4. 13.
[PostgreSQL] 월 차이 계산 1. DATE_PART DATE_PART는 날짜 또는 추출하는 함수인데 추출을 활용해서 월 차이를 알 수 있습니다. * 같은 연도일 경우에만 활용가능합니다. 월 차이 계산 예제 SELECT DATE_PART('month', '2023-04-12'::timestamp) - DATE_PART('month', '2023-02-12'::timestamp); -- 2 2. EXTRACT + AGE - EXTRACT: 날짜부분을 추출하는 함수입니다. SELECT EXTRACT('DAY' from '2023-02-03 15:23:22.23242'::timestamp); -- 3 - AGE: 나이를 구하는 함수 첫번째 인수에서 두번째 인수를 뺀 결과를 반환합니다. SELECT AGE(TIMESTAMP '2023-04-.. 2023. 4. 13.
[PostgreSQL] with문 사용하기 (CTE) 1. WITH Queries (Common Table Expressions) with 쿼리는 공통 테이블 표현식이라고 합니다. 임시 테이블을 정의해서 보다 많은 쿼리를 보조할 때 사용합니다. 2. 사용 방법 WITH [임시 테이블명] AS ( SELECT * FROM [테이블명] ) SELECT * FROM [임시 테이블명]; 다중 WITH [임시 테이블명] AS ( SELECT * FROM [테이블명] ), [임시 테이블명2] AS ( SELECT * FROM [테이블명] ) SELECT * FROM [임시 테이블명] LEFT OUTER JOIN [임시 테이블명2] ON T1.id = T2.id 재귀 WITH [임시 테이블명] AS ( SELECT * FROM [테이블명] ), [임시 테이블명2] AS.. 2023. 4. 12.
[PostgreSQL] INSERT INTO SELECT 1. 첫번째 방법 INSERT INTO [생성할 테이블] SELECT [컬럼1, 컬럼2, ...] FROM [가져올 테이블] WHERE [조건] 아래와 같이 에러 문구가 나올 경우 두번째 방법을 사용하시면 됩니다. ERROR: column "id" is of type bigint but expression is of type timestamp without time zone Hint: You will need to rewrite or cast the expression. Position: 34 2. 두번째 방법 (serial) INSERT INTO [생성할 테이블](컬럼1, 컬럼2, ...) SELECT * FROM [가져올 테이블] WHERE [조건] 3. 예제 작성기준 환경 OS macOS postg.. 2023. 4. 10.
[PostgreSQL] 문자열 자르기 (SUBSTRING, SPLIT_PART, REPLACE) 1. SUBSTRING SUBSTRING( 문자열, 시작위치, 길이 ) - 문자열: 문자를 자르기 위한 전체문자 - 시작위치: 1부터 첫번째 글자로 시작합니다. - 길이: 시작위치로부터 길이까지 문자열을 자릅니다. 예시 ( 기본 ) SELECT SUBSTRING('가나다라마바사' , 1, 3); -- 가나다 SELECT SUBSTRING('가나다라마바사' , 2, 2); -- 나다 SELECT SUBSTRING('가나다라마바사' , 3, 1); -- 다 예시 ( 마지막 문자까지 ) -- address 컬럼에 '서울특별시 마포구 희우정로'라고 있다고 가정. SELECT SUBSTRING(address , 7, LENGTH(address)); -- 마포구 희우정로 2. SPLIT_PART SPLIT_PART.. 2023. 4. 5.
[PostgreSQL] 데이터베이스 생성 psql 접속 psql postgres 결과 데이터베이스 생성 (Create Database) create database [데이터베이스명]; 결과 유저 생성 (Create User) 유저생성할 때 비밀번호와 함께 생성 가능합니다. 이때는 with를 사용합니다. create user [유저명] with encrypted password '[비밀번호]'; 결과 데이터베이스 유저 권한 설정 데이터베이스 관련된 유저 권한을 설정합니다. grant all privileges on database [데이터베이스명] to [유저명]; 결과 데이터베이스 삭제 (Drop Database) drop database [데이터베이스명]; 결과 유저 삭제 (Drop User) droup user [유저명]; 결과 만약 권한이.. 2023. 2. 16.
[SQLite] 데이터타입 1. NULL NULL 값 2. INTEGER 부호 있는 정수 3. REAL 8byte로 소수점 값 4. TEXT 텍스트 문자열 5. BLOB 입력된 그대로 저장하는 데이터 https://www.sqlite.org/datatype3.html Datatypes In SQLite 1. Datatypes In SQLite Most SQL database engines (every SQL database engine other than SQLite, as far as we know) uses static, rigid typing. With static typing, the datatype of a value is determined by its container - the particular column in .. 2022. 12. 6.
[PostgreSQL] 날짜 관련 상황별 정리 1. SELECT 1-1. 타임스탬프를 문자로 (SELECT Timestamp To String) SELECT to_char(created_at, 'YYYY-MM-DD') AS date_str FROM users; 2. WHERE 2-1. 타임스탬프 (WHERE Timestamp to Date) 2-1-1. 첫번째 방법 ( :: cast ) SELECT * FROM users WHERE created_at::date >= '2022-09-01' 2-1-2. 두번째 방법 ( function cast ) SELECT * FROM users WHERE CAST ( created_at AS date) >= '2022-09-01' 2022. 9. 23.
[PostgreSQL] DROP COLUMN PostgreSQL에서 컬럼 삭제 하는 방법에 대해서 설명하겠습니다. 1. 컬럼 삭제 ALTER TABLE 테이블이름 DROP COLUMN 컬럼이름; 2. 컬럼 삭제 CASCADE 제거하려는 컬럼이 사용되는 stored procedures, triggers, views가 존재 시 CASCADE를 사용합니다. ALTER TABLE 테이블이름 DROP COLUMN 컬럼이름 CASCADE; 3. 컬럼 다중 삭제 ALTER TABLE 테이블 이름 DROP COLUMN 컬럼이름1, DROP COLUMN 컬럼이름2, DROP COLUMN 컬럼이름3; 4. 컬럼 존재시 삭제 ALTER TABLE 테이블이름 DROP COLUMN IF EXISTS 컬럼이름 ; 5. 컬럼 제약조건 삭제 컬럼 제약조건(NOT NULL, U.. 2022. 7. 13.
[PostgreSQL] CAST 타입 변환 PostgreSQL 타입 변환 1. CAST 사용 1. 문자에서 숫자로 변환 예시입니다. SELECT CAST ( '100' AS integer ) 2. :: 연산자 1. 문자에서 숫자로 변환 예시입니다. SELECT '100'::INTEGER 참조 - PostgreSQL 튜토리얼: https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-cast/ 2022. 6. 30.