| 포스트그레SQL | ||
|---|---|---|
| 이전 | 다음 | |
많은 데이터 유형에는 다른 유형으로 변환할 수 있는 함수가 있습니다. 관련 유형. 또한 몇 가지 유형별 와이즈 토토이 있습니다. 연산자를 통해서도 사용할 수 있는 와이즈 토토이 문서화되어 있습니다. 운영자로만 가능합니다.
텍스트에 정의된 일부 함수는 char()에도 사용할 수 있습니다. 및 varchar().
다음을 위해date_part그리고date_trunc함수, 인수는 `연도'일 수 있습니다. '월', '일', '시', '분', '초' 등 특수 수량 '10년', '세기', '밀레니엄', `밀리초' 및 `마이크로초'.date_part`dow'가 요일을 반환하고 `epoch'가 초를 반환하도록 허용합니다. 1970년 이후(날짜/시간) 또는 경과된 총계를 반환하는 'epoch' 초(시간 범위).
표 10-1. 수학 함수
| 와이즈 토토 | 반품 | 설명 | 예 |
|---|---|---|---|
| 부동 소수점(int) | float8 | 정수를 부동 소수점으로 변환 포인트 | 플로트(2) |
| float4(int) | 플로트4 | 정수를 부동 소수점으로 변환 포인트 | float4(2) |
| int | 정수(부동 소수점) | 부동 소수점을 다음으로 변환 정수 | 정수(2.0) |
많은 문자열 함수를 텍스트, varchar(), 및 char() 유형. 현재 일부 와이즈 토토만 사용할 수 있습니다. 텍스트 유형의 경우.
표 10-2. 문자열 함수
| 와이즈 토토 | 반품 | 설명 | 예 |
|---|---|---|---|
| 아래(텍스트) | 텍스트 | 텍스트를 소문자로 변환 | 하위('TOM') |
| lpad(텍스트,int,텍스트) | 텍스트 | 왼쪽 패드 문자열을 지정함 길이 | lpad('안녕',4,'??') |
| ltrim(텍스트,텍스트) | 텍스트 | 다음 문자 자르기 왼쪽 텍스트 | ltrim('xxxxtrim','x') |
| 위치(텍스트,텍스트) | 텍스트 | 추출물이 지정됨 하위 문자열 | 위치('높음','ig') |
| rpad(텍스트,int,텍스트) | 텍스트 | 지정된 오른쪽 패드 문자열 길이 | rpad('안녕',4,'x') |
| rtrim(텍스트,텍스트) | 텍스트 | 오른쪽 문자 자르기 텍스트 | rtrim('trimxxxx','x') |
| substr(text,int[,int]) | 텍스트 | 추출물이 지정됨 하위 문자열 | substr('안녕하세요',3,5) |
| 상단(텍스트) | 텍스트 | 텍스트를 대문자로 변환 | 상단('톰') |
표 10-3. 날짜/시간 함수
| 와이즈 토토 | 반품 | 설명 | 예 |
|---|---|---|---|
| 무한(절대) | 부울 | 이것이 유한한 경우 TRUE 시간 | isfinite('현재'::abstime) |
| 날짜시간(abstime) | 날짜시간 | 날짜/시간으로 변환 | datetime('지금'::abstime) |
| 날짜시간(날짜) | 날짜시간 | 날짜/시간으로 변환 | 날짜시간('오늘'::날짜) |
| 날짜시간(날짜,시간) | 날짜/시간 | 날짜/시간으로 변환 | 날짜시간('1998-02-24':날짜시간, '23:07'::시간); |
| 나이(날짜시간,날짜시간) | 기간 | 기간 보존 개월 및 년 | 나이('현재','1957-06-13':날짜시간) |
| 날짜_부분(텍스트,날짜시간) | float8 | 날짜의 지정된 부분 필드 | date_part('dow','now'::datetime) |
| date_trunc(텍스트,날짜시간) | 날짜시간 | 지정된 날짜 자르기 단위 | date_trunc('월','현재'::abstime) |
| 유한(날짜시간) | 부울 | 이것이 유한한 경우 TRUE 시간 | isfinite('지금'::datetime) |
| abstime(날짜시간) | 절대 | abstime으로 변환 | abstime('지금'::datetime) |
| 시간 범위(reltime) | 기간 | 시간 범위로 변환 | 기간('4 시'::상대시간) |
| 날짜시간(날짜,시간) | 날짜시간 | 날짜/시간으로 변환 | 날짜시간('1998-02-25'::날짜,'06:41'::시간) |
| 날짜_부분(텍스트,기간) | float8 | 지정된 시간 부분 필드 | date_part('시간','4시간 3 분'::시간 범위) |
| 무한(시간 범위) | 부울 | 이것이 유한한 경우 TRUE 시간 | 무한('4 시'::시간 범위) |
| reltime(timespan) | 상대시간 | 상대시간으로 변환 | reltime('4시간'::timespan) |
표 10-4. 기하학적 함수
| 와이즈 토토 | 반환 | 설명 | 예 |
|---|---|---|---|
| 상자(점,점) | 상자 | 포인트를 상자로 변환 | box('(0,0)'::점,'(1,1)'::점) |
| 면적(상자) | float8 | 상자 면적 | 면적('((0,0),(1,1))'::상자) |
| isopen(경로) | 부울 | 이것이 공개된 경우 TRUE 경로 | isopen('[(0,0),(1,1),(2,0)]'::경로) |
| 닫혀 있음(경로) | 부울 | 폐쇄된 경우 TRUE 경로 | isclosed('((0,0),(1,1),(2,0))'::경로) |
| 원(점,float8) | 원 | 서클로 변환 | 원('(0,0)'::점,2.0) |
| 다각형(npts,원) | 다각형 | npts를 사용하여 다각형으로 변환 포인트 | 다각형(12,'((0,0),2.0)'::원) |
| 중앙(원) | float8 | 객체 중심 | center('((0,0),2.0)'::원) |
| 반경(원) | float8 | 원의 반경 | 반경('((0,0),2.0)'::원) |
| 직경(원) | float8 | 원의 직경 | 직경('((0,0),2.0)'::원) |
| 지역(원) | float8 | 원의 면적 | 면적('((0,0),2.0)'::원) |
SQL92는 특정 구문으로 함수를 정의합니다. 이들 중 일부는 다음과 같습니다 다른 Postgres 함수를 사용하여 구현되었습니다.
표 10-5. SQL92 텍스트 함수
| 와이즈 토토 | 반품 | 설명 | 예 |
|---|---|---|---|
| 위치(텍스트 안의 텍스트) | int4 | 추출물 지정됨 하위 문자열 | 위치('톰'의 'o') |
| 하위 문자열(텍스트 [int에서] [for 정수]) | 텍스트 | 추출물 지정됨 하위 문자열 | substring(2의 'Tom' 2) |
| trim([선행|후행|둘 다] [텍스트] 텍스트에서) | 텍스트 | 텍스트에서 문자 자르기 | trim(둘 다 'x'부터 'xTomx') |
| 이전 | 집 | 다음 |
| 운영자 | 위로 | 배열 |