sliver__

[PostgrelSQL] - 연산자와 함수 본문

CS/postgresql

[PostgrelSQL] - 연산자와 함수

sliver__ 2022. 3. 13. 19:30
728x90
  • 논리, 비교 연산자와 조건문 함수
    • 조건이 참인지 거짓인지 판별하는 연산자
    • 연산 결과를 불리언 데이터 타입으로 나타낸다.

 

  • 논리 연산자
    • AND, OR, NOT
    • True, False 이외의 NULL 값이 있다.


  • 비교 연산자

  • SELECT NULL = 'false' AS equal_false, NULL IS FALSE AS if_false; 구문을 실행하면 NULL = 'false'는 NULL이 false인지 아닌지 모르기 때문에 NULL을 반환한다. 하지만 NULL IS FALSE 구문에서는 NULL은 FALSE가 아니므로 false를 반환한다.

  • 범위 연산자

 

  • 위 두 구문은 같은 결과를 반환하는 구문이다.

  • CASE 함수

 

 

  • SELECT {..} CASE ... END {new col 이름} from {table};

  • COALESCE()
    • 데이터를 조회할 경우, NULL 값을 다른 기본 값으로 대체할 때 사용된다.

  • COALESCE() 함수는 매개변수를 순서대로 평가하여 NULL이 아닌 첫 번째 매개변수를 반환한다.

  • NULLIF 함수
    • 0을 NULL 값을 바꾸고 싶을 때 사용하는 함수

  • 매개변수1 과 2가 같으면 NULL return 아니면 첫 번째 매개변수 return

  • 배열 연산자
    • 배열에 담긴 순서대로 원소를 비교한다.
    • <@, @>는 부분집합 기호와 같다.

 

 


  • 배열 함수
    • || 연산자를 사용해서 배열을 병합했지만 함수를 이용해서 배열을 병합할 수 있다.

  • array_append는 병합하는 원소를 배열의 맨 뒤에 넣어준다.
  • array_prepend 함수는 병합하는 원소를 배열의 맨 앞에 넣어준다.

  • array_remove 함수는 배열속에 있는 원소를 제거하는 함수이다.

  • array_replace 함수는 배열 속의 원소를 다른 원소로 업데이트하는 함수이다.

  • array_cat 함수는 두 배열을 병합하는 함수이다.

 

  • 정리


  • JSON 연산자
    • JSON에 저장된 value 값은 key값을 통해 가져올 수 있다.

  • JSON 배열은 인덱스 번호를 통해 접근할 수 있다.

  • 인덱스 번호가 음수라면 뒤에서 부터 접근한다.(-1 == 2번, -2 == 1번, -3 == 0번)
  • JSON 속 데이터를 TEXT 데이터 타입으로 가져오는 방법은 ->>로 접근이다.

  • 다층의 구조로 이루어져 있다면 #>를 사용한다. 차례대로 인덱스 값을 넣어준다.

  • 중간에 JSON 배열이 있는 형태에서는 인덱스 번호도 포함시켜준다.

  • 정리


  • JSONB 함수


  • JSON 생성함수
  • JSON object를 만드는 함수

  • JSONB object 생성 함수

  • JSON array 생성 함수

  • JSON 배열의 원소의 개수를 세는 함수

  • JSON key-value를 정리해서 보는 함수

 


  • 현재 날짜와 시간

 

  • 시간대 정보없는 시간 출력

  • now() : 현재 트랜잭션이 시작할 때의 시간 반환
  • timeofday() : 현재 작업이 시작할 때의 시간반환

  • age(timestamp, '매개변수 timestamp') : 두 매개변수의 차이를 반환
728x90
Comments