본문 바로가기
728x90
반응형

Study/PostgreSQL10

[PostgreSQL] 시간값 다루기 시간 타입 postgresql의 시간 관리용 타입으로는 timestamp, date, time 등이 있다. timestamp는 날짜와 시간값을 저장하는 8바이트 값이다. 표현범위는 BC.4713~AD.294276년이다. 넉넉하다. date는 날짜정보만을 저장하는 4바이트 값이다. 표현범위는 BC.4713~AD.5874897년이다. time은 시간정보만 저장하는 8바이트 값이다. ​ ​ 시간값 획득하기 시간값 획득에는 몇가지 방법이 있다. 첫번째는 NOW 함수를 사용하는 것이다. 이건 타임스탬프에 타임존이 합쳐진 값을 반환한다. ​ 두번째 방법은 CURRENT_TIMESTAMP라는 특수한 값을 사용하는 것이다. NOW 함수를 호출하는 것과 동등하다. ​ 이외에도 현재 시간을 가져오는 CURRENT_TIME.. 2023. 5. 23.
[PostgreSQL] 문자열 합치기(concat , ||) PostgreSQL에서 문자열을 합치는 방법에 대해 알아보자. 오라클같은것을 많이 사용해봤으면 알겠지만 PostgreSQL 역시 '||' 와 'concat' 을 사용하여 문자열을 합칠 수 있다. 각각의 구문과 예제를 통해 알아보자. ▷ 구문1 ) || (operator) A || B || ...N - A || B ||... 이런식으로 사용하며 vertical bar 두개를 기준으로 합쳐진다. - 주의해야할 점은 PostgreSQL에서는 NULL을 인지하기 때문에 합치려는 값 중에 하나라도 NULL이 존재할 경우 NULL 을 반환한다. ▷ 예제1) use operator SELECT 'mine' || 'It' || 'Record' -- mineItRecord SELECT 'vertical' || NULL .. 2023. 5. 22.
[PostgreSQL] 조건에 따라 다른값 보여주기 (CASE WHEN ~ ELSE ~ END) PostgreSQL에서 조건에 따라 다른값을 보여주는 CASE WHEN ~ END 구문에 대해 알아보자. ▷ 구문 CASE WHEN condition_1 THEN result_1 WHEN condition_2 THEN result_2 [WHEN...] [ELSE else_result] END 여기서 ELSE 부분 역시 생략이 가능하지만 위에서 만족하는 조건이 없으면 NULL을 반환하니 상황에 따라 뭐라도 넣어주는것이 좋을 수 있다. CASE WHEN 구문은 PostgreSQL 에서만 존재하는건 아니라서 오라클 등등에서 사용할 수 있으니 이참에 잘 알아두자. ▶예제1) 일반 구문 형식 SELECT CASE WHEN score IS NOT NULL THEN 'D' ELSE 'F' END AS code_sco.. 2023. 5. 15.
postgresql 소숫점 2자리 select trunc(credit_rt::numeric,2) from tb_opt10001 음 일단 credit_rt는 double precision 형이다. 처음엔 해당 컬럼을 소숫점을 2번째 자리까지 저장하도록 컬럼을 수정하고 싶었다. 그런데... 그런기능이 없다. numeric으로 컬럼 사이즈를 지정하면 자릿수를 지정할수 있으나 다른 타입은 지정할수가 없다고 한다. 그래서 numeric으로 타입을 바꿀까 했는데 전체 자릿수 지정을 어떻게 할지 고민도 되고 그리고 무엇보다 numeric으로 하면 느리다고 한다. 그런데 또 돈이면 numeric으로 하라고 하는데. 일단 속도가 문제라. 저장은 소수점끝까지 가고 조회할때 2자리를 끊으려고 했다. 그런데 웃긴게 trunc(버림)가 또 numeric 타입에.. 2023. 4. 25.
728x90
반응형