본문 바로가기
IT/SQL 기초강좌 (PostgreSQL)

98강 SQL 함수 정리 : PostgreSQL String Functions

by DoitSQL 2023. 2. 9.
728x90

 PostgreSQL 기초강의, PostgreSQL 기초강좌

98강 SQL 함수 정리 : PostgreSQL String Functions   

 

SQL 함수 정리 98강 시작합니다.

 

이번 시간에는

 PostgreSQL String Functions

에 대해서 알아보는 시간입니다.

함수정리

이번 시간에는 문자열 데이터를 효과적으로 조작할 수 있는 가장 일반적으로 사용되는 PostgreSQL 문자열 함수를 소개합니다.


문자 함수 정리   

 

함수 / 연산자  →  반환 유형 설 명 예제  →  결과
text || text → text 두 문자열을 연결합니다. 'Post' || 'greSQL' → PostgreSQL
text || non-text → text 문자열이 아닌 입력을 텍스트로 변환한 다음 두 문자열을 연결합니다.  'Value: ' || 42 → Value: 42
bit_length ( text ) → integer 문자열의 비트 수(octet_length의 8배)를 반환합니다. bit_length('jose') → 32
char_length ( text ) → integer
character_length ( text ) → integer
문자열의 문자 수를 반환합니다. char_length('josé') → 4
lower ( text ) → text 문자열을 모두 소문자로 변환 lower('TOM') → tom
octet_length ( text ) → integer 문자열의 바이트 수를 반환합니다. octet_length('josé') → 5 (if server encoding is UTF8)
position ( substring text IN string text ) → integer 문자열 내에서 지정된 하위 문자열의 첫 번째 시작 인덱스를 반환하거나, 0일 경우 0을 반환합니다 position('om' in 'Thomas') → 3
substring ( string text [ FROM start integer ] [ FOR count integer ] ) →
text
문자열에서 시작위치부터 count만큼 추출
from 생략 : 처음부터
for 생략 : 마지막까지
substring('Thomas' from 2 for 3) → hom
substring('Thomas' from 3) → omas
substring('Thomas' for 2) → Th
trim ( [ LEADING | TRAILING | BOTH ] [ characters text ] FROM string text ) → text 문자열에서 문자 제거
방향이 생략되면 'both' 기본값
trim(both 'xyz' from 'yxTomxx') → Tom
trim(leading 'xyz' from 'yxTomxx') → Tomxx
trim(leading 'xyz' from 'yxTomxx') → yxTom

trim ( [ LEADING | TRAILING | BOTH ] [ FROM ] string text [, characters text ] ) → text trim()에 대한 비표준 구문 trim(both from 'yxTomxx', 'xyz') → Tom
upper ( text ) → text 문자열을 모두 대문자로 변환 upper('tom') → TOM
text ^@ text → boolean 첫 번째 문자열이 두 번째 문자열로 시작하면 true를 반환 'alphabet' ^@ 'alph' → t
ascii ( text ) → integer 인수의 첫 번째 문자에 대한 ASCII 숫자 코드를 반환 ascii('x') → 120
btrim ( string text [, characters text ] ) → text 문자열의 시작과 끝에서 문자를 제거
trim의 both 옵션과 같습니다.
btrim('xyxtrimyyx', 'xyz') → trim
chr ( integer ) → text 코드의 문자를 반환
chr(0)은 비허용
chr(65) → A
concat ( val1 "any" [, val2 "any" [, ...] ] ) → text 모든 인수의 텍스트 표현을 연결합니다. NULL 인수는 무시됩니다.
'||' 연산자와 같습니다.
concat('abcde', 2, NULL, 22) → abcde222
concat_ws ( sep text, val1 "any" [, val2 "any" [, ...] ] ) → text 구분기호를 사용하여 문자열을 연결
구분기호는 null이 아니어야 합니다.
첫번째 인수는 구분기호
concat_ws(',', 'abcde', 2, NULL, 22) → abcde,2,22
format ( formatstr text [, formatarg "any" [, ...] ] ) → text 형식 문자열에 따라 인수의 형식을 지정 format('Hello %s, %1$s', 'World') → Hello World, World
initcap ( text ) → text 각 단어의 첫 글자를 대문자로 변환하고 나머지는 소문자로 변환 initcap('hi THOMAS') → Hi Thomas
left ( string text, n integer ) → text 문자열에서 처음 n자를 반환하거나 n이 음수이면 마지막 |n| 문자를 제외한 모든 문자를 반환합니다. left('abcde', 2) → ab
left('abcde', -1) → abcd
length ( text ) → integer 문자열의 문자 수를 반환합니다. length('jose') → 4
lpad ( string text, length integer [, fill text ] ) → text 채우기 문자로 앞에 문자열을 추가하여 문자열을 길이로 확장합니다
문자열이 이미 길이보다 긴 경우 오른쪽에서 잘립니다
lpad('hi', 5, 'xy') → xyxhi
lpad('hiasdfg', 5, 'xy') → hiasd
ltrim ( string text [, characters text ] ) → text 문자를 포함하는 가장 긴 문자열을 제거 ltrim('zzzytest', 'xyz') → test
md5 ( text ) → text 인수의 MD5 해시를 계산하고 결과를 16진수로 작성합니다. md5('abc') → 900150983cd24fb0d6963f7d28e17f72
pg_client_encoding ( ) → name 현재 클라이언트의 인코딩 이름을 반환 pg_client_encoding() → UTF8
quote_ident ( text ) → text SQL 문에서 식별자로 사용할 수 있도록 적절하게 따옴표로 묶인 지정된 문자열을 반환합니다 quote_ident('Foo bar') → "Foo bar"
repeat ( string text, number integer ) → text 지정한 횟수만큼 문자열을 반복합니다. repeat('Pg', 4) → PgPgPgPg
replace ( string text, from text, to text ) → text 문자 치환 : 두번째인수를 찾아 세번째인수로 치환 replace('abcdefabcdef', 'cd', 'XX') → abXXefabXXef
reverse ( text ) → text 문자열의 문자 순서를 반대로 지정합니다. reverse('abcde') → edcba
right ( string text, n integer ) → text 문자열의 마지막 n개 문자를 반환하거나 n이 음수이면 첫 번째 |n| 문자를 제외한 모든 문자를 반환합니다. right('abcde', 2) → de
right('abcde', -2) → cde
rpad ( string text, length integer [, fill text ] ) → text 문자 채우기(공백 기준)를 추가하여 문자열을 길이로 확장합니다
기본값). 문자열이 이미 길이보다 길면 잘립니다.
rpad('hi', 5, 'xy') → hixyx
rpad('hiasdfg', 5, 'xy')  hiasd
rtrim ( string text [, characters text ] ) → text 끝에서부터 문자를 포함하는 가장 긴 문자열을 제거합니다 rtrim('testxxzx', 'xyz') → test
substr ( string text, start integer [, count integer ] ) → text 시작 문자에서 시작하여 확장되는 문자열의 하위 문자열을 추출 substr('alphabet', 3) → phabet
substr('alphabet', 3, 2) → ph
to_hex ( integer ) → text 숫자를 동등한 16진수 표현으로 변환합니다. to_hex(2147483647) → 7fffffff

이상으로 문자열 함수를 살펴보았습니다.

이외에도 많은 문자열 함수가 있지만 저도 모르는 것이 많네요.

버전이 업데이트되면서 새로 생기는 것도 많아서 다 알 수는 없습니다.

정보가 더 필요하신 분은 아래 사이트에서 매뉴얼을 다운로드하셔서 참조하시기 바랍니다.

 

 

PostgreSQL: Documentation

Documentation View the manual Manuals You can view the manual for an older version or download a PDF of a manual from the below table. Online Version PDF Version 15 / Current A4 PDF (13.5 MB) • US PDF (13.4 MB) 14 A4 PDF (13.3 MB) • US PDF (13.2 MB

www.postgresql.org

 

감사합니다.


본 강의는 PostgreSQL Tutorial을 참조합니다.  https://www.postgresqltutorial.com/
Do it! SQL을 찾아 주셔서 감사합니다. 공감 ♥ , 댓글이 큰 힘이 됩니다.

 

728x90

댓글