이 문서는 지원되지 않는 버전의 Postgre토토 베이을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다Postgre배트맨 토토 : 문서 : 17 : 4 장 배트맨 토토 구문버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

4 장 토토 베이

목차
4.1. 어휘
4.1.1. 식별자 및
4.1.2. 상수
4.1.3. 운영자
4.1.4. 특별
4.1.5. 댓글
4.1.6. 어휘
4.2. PostgreSQL : 문서 : 8.0 : 값 토토 핫식
4.2.1.
4.2.2. 위치
4.2.3. 구독
4.2.4. 필드
4.2.5. 운영자
4.2.6. 함수 호출
4.2.7. 집계
4.2.8. 타입
4.2.9. 스칼라
4.2.10. 배열
4.2.11.
4.2.12. 표현

이 장에서는 토토 베이의 구문을 설명합니다. 그것은 형성된다

우리는 또한 이미 토토 베이에 익숙한 사용자에게 읽을 권고합니다.Postgre토토 베이.

4.1. 어휘 구조

토토 베이 입력은 시퀀스로 구성됩니다.명령. 명령은 시퀀스로 구성됩니다토큰, 세미콜론에 의해 종료되었습니다";"). 입력 스트림의 끝

토큰이 될 수 있습니다키워드, an식별자, a인용 식별자, a리터럴(또는 상수) 또는 특수 캐릭터

추가로,댓글

예를 들어, 다음은 (구문 적으로) 유효한 토토 베이입니다

선택 *에서 my_table;

이것은 한 줄에 하나씩 세 가지 명령의 시퀀스입니다.

토토 베이 구문은 어떤 토큰에 대해서는 그다지 일관되지 않습니다."선택", an"업데이트"및 an"삽입"명령. 그러나 예를 들어업데이트명령은 항상 필요합니다SET토큰이 특정에 나타납니다삽입또한 A완료되기 위해. 정확한 구문Part VI.

4.1.1. 식별자 및 키

select, 업데이트또는, 즉, 고정 된 의미가있는 단어my_tableandA의 예입니다식별자. 그들은 테이블의 이름을 식별하고"이름". 핵심 단어 및 식별자스포츠 토토 PostgreSQL : 문서 : 8.0 : SQL 키어.

토토 베이 식별자 및 키워드는 편지로 시작해야합니다.a-z, 그러나_). 후속0-9) 또는 달러 표시 ($). 달러 표시는 허용되지 않습니다

시스템은 no를 사용합니다지명 된 ATALEN-1 문자지명 된 ATALEN는 최대 식별자입니다지명 된 ATALEN상수src/include/postgres_ext.h.

식별자 및 키

my_table set a = 5; 업데이트

동등하게 칭찬 할 수 있습니다

my_table set a = 5; 업데이트

자주 사용되는 협약은 상단에 핵심 단어를 쓰는 것입니다.

my_table set a = 5; 업데이트

두 번째 종류가 있습니다구분또는인용 식별자."). 구분"선택"a를 참조하는 데 사용될 수 있습니다"선택",select

업데이트 "my_table"set "a"= 5;

견적 된 식별자는 a 이외의 다른 문자를 포함 할 수 있습니다

식별자 인용은 또한 대소 문자에 민감하게 만듭니다.foo, foo"foo"Postgre토토 베이그러나"foo"and"foo"arePostgre토토 베이토토 베이과 호환되지 않습니다foo"foo"not"foo"18182_18333

4.1.2. 상수

세 종류의암시 적으로 유형 된 상수inPostgre토토 베이: 문자열, 비트 문자열 및

4.1.2.1. 끈

문자열 상수'), 예를 들어'이것은 문자열입니다'. 그만큼'Dianne' 's Horse'. Postgre토토 베이또한 허용됩니다\), 예를 들어 동일한 문자열이 될 수 있습니다'Dianne \'s Horse '.

다른Postgre토토 베이Extension은 C 스타일의 백 슬래시 탈출이 가능하다는 것입니다 :\ b백 스페이스,\ f양식 피드입니다.\ n는 Newline,입니다.\ r운송 반품입니다.\ t탭입니다.\xxx, 여기서xxx| 옥탈 번호는 바이트입니다

코드 0이있는 문자는 문자열에있을 수 없습니다.

두 개의 문자열 상수에 의해서만 분리됩니다적어도는 연결되고 효과적으로 치료됩니다

'foo'선택

'foobar'를 선택하십시오;

그러나

'foo' 'bar'; 선택

유효한 구문이 아닙니다. (이 약간 기괴한 행동입니다토토 베이; Postgre토토 베이

4.1.2.2. 달러에 따른 문자열

문자열 지정을위한 표준 구문Postgre토토 베이제공"달러, 문자열 상수를 작성합니다. 1 달러 인용$), 선택 사항"tag"0 개 이상의 문자, 다른 문자"Dianne 's Horse"달러 사용

$$ Dianne 's Horse $$

달러에 따른 문자열 내부, 단일

달러 규모의 문자열 상수를 중첩 할 수 있습니다

$ function $

여기, 시퀀스$ q $ [\ t \ r \ n \ V \\] $ q $a[\ t \ r \ n \ v \\]Postgre토토 베이. 그러나 시퀀스 이후$ function $, 그것은 조금 더 있습니다

1 달러 규모의 문자열의 태그는 다음을 따릅니다.$ tag $ string 컨텐츠 $ tag $is$ tag $ stringis.

키워드를 따르는 달러 인용 문자열

Dollar Quoting은 토토 베이 표준의 일부가 아니지만 IT

4.1.2.3. 비트 스트링

비트 스트링 상수는 일반 문자열 상수처럼 보입니다B(위 또는 소문자)B'1001 '. 그만큼0and1.

또는 비트 스트링 상수를 지정할 수 있습니다X(위 또는 소문자), 예 :x'1ff '. 이 표기법은 a와 같습니다

비트 스트링 상수의 두 형태가 계속 될 수 있습니다

4.1.2.4.

숫자 상수는이 일반적으로 허용됩니다

Digits
Digits. [Digits] [E [+-]Digits]Digits].Digits[E [+-]Digits]
DigitsE [+-]Digits

여기서Digits하나 또는e), 하나가있는 경우. 아무것도 없을 수 있습니다

이것은 유효한 숫자 상수의 일부 예입니다 :

42
3.5
4.
.001
5E2
1.925E-3

aInteger값이 유형에 맞는 경우Integer(32 비트); 그렇지 않으면 그것은 추정됩니다bigint값이 맞는 경우bigint(64 비트); 그렇지 않으면숫자.숫자.

숫자 상수의 초기에 할당 된 데이터 유형예를 들어,Real (float4)

Real '1.23' - 문자열 스타일

실제로 장군의 특별한 경우입니다

4.1.2.5. 상수

a의 상수임의의유형을 입력 할 수 있습니다

타입 'String'String'::타입캐스트 ( 'String' 처럼타입 )

문자열 상수의 텍스트가 입력으로 전달됩니다타입. 결과는 상수입니다

문자열 상수는 정기적으로 사용하여 작성할 수 있습니다

typename( 'String' )

그러나 모든 유형 이름이 이러한 방식으로 사용될 수는 없습니다. 보다섹션자세한 내용.

the::, cast ()및 함수 콜 구문도 할 수 있습니다섹션. 하지만 양식타입 'String'익숙해 질 수 있습니다타입 'String'::또는cast ()to

4.1.3. 연산자

운영자 이름은 최대의 시퀀스입니다.지명 된 ATALEN-1 (기본적으로 63) 문자

+-*/<> = ~! @#%^& | 

거기
  • --and/*연산자의 어느 곳에도 나타날 수 없습니다

  • 다중 문자 연산자 이름은 끝날 수 없습니다+또는-,

    ~! @#%^& | 

    @-허용됩니다*-는 그렇지 않습니다.Postgre토토 베이토토 베이 준수를 구문 분석합니다

비 토토 베이 표준 운영자 이름으로 작업 할 때, 당신@, 당신은 할 수 없습니다x*@y; 당신은 작성해야합니다x* @yPostgre토토 베이두 연산자로 읽습니다

4.1.4.

영숫자가 아닌 일부 캐릭터는 특별합니다

  • 달러 표시 ($) 다음

  • 괄호 (())

  • 브래킷 ([])는 익숙합니다섹션 8.10자세한 내용은

  • 쉼표 (,)는 일부에서 사용됩니다

  • 세미콜론 (;) 종료됩니다

  • 콜론 (:)는 사용됩니다"슬라이스"배열에서.PostgreSQL : 문서 : 8.0 : 토토 커뮤니티.)

  • 별표 (*)가 사용됩니다count집계 기능.

  • 기간 (.)가 사용됩니다

4.1.5. 의견

주석은 시작하는 임의의 문자 순서입니다

- 이것은 표준 토토 베이 주석입니다.

또는 C 스타일 블록 댓글을 사용할 수 있습니다 :

/* 멀티 린 댓글

주석이 시작되는 곳/*그리고 일치하는 발생으로 확장*/. 이 블록 주석은 지정된대로 둥지입니다

추가 전에 입력 스트림에서 주석이 제거됩니다.

4.1.6. 어휘 우선 순위

테이블의 우선 순위와 연관성을 보여줍니다Postgre토토 베이.<and와 다른 우선 순위가 있습니다<=and> =. 또한 때때로 필요할 것입니다

24627_24642

|

5를 선택하십시오! (-6);

파서는 전혀 모르기 때문에 - 너무 늦을 때까지 -!Postfix로 정의됩니다

select (5!) -6;

이것은 확장 성을 위해 지불하는 가격입니다.

표 4-1. 연산자 우선 순위

연산자/요소 연관성 설명
. 왼쪽 테이블/열 이름 분리기
:: 왼쪽 Postgre토토 베이-스타일
[ ] 왼쪽 배열 요소 선택
- 오른쪽 Unary 마이너스
^ 왼쪽 지수
* / % 왼쪽 곱셈, 분할, 모듈로
+ - 왼쪽 추가, 뺄셈
is 진실, 거짓, IS, is null
isnull null 테스트
NOTNULL 널 테스트
(다른) 왼쪽 기타 모든 기본 및 사용자 정의 연산자
in 멤버십 설정
사이 범위 격리
오버랩 시간 간격 겹치
Like ilike 유사한 문자열 패턴 매칭
< 보다
= 오른쪽 평등, 과제
아님 오른쪽 논리적 부정
and 왼쪽 논리적 연결
또는 왼쪽 논리적 분리

운영자 우선 순위 규칙도 적용됩니다"+"일부 운영자"+"운영자, 상관없이

스키마 자격 운영자 이름이 사용되는 경우운영자예를 들어 구문

선택 3 연산자 (PG_CATALOG.+) 4;

the운영자구성이 취해졌습니다표 4-1for"다른"운영자. 이것은 사실입니다OPERATOR ().