日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

字符串函數和操作符

更新時間:

云原生數據倉庫 AnalyticDB PostgreSQL 版兼容PostgreSQL字符串函數和操作符。本文簡單列舉云原生數據倉庫 AnalyticDB PostgreSQL 版兼容的字符串函數和操作符及用法示例。

PostgreSQL字符串函數和操作符的詳細使用方法,請參見PostgreSQL官方文檔:字符串函數和運算符

SQL字符串函數和操作符

函數名稱

返回類型

函數說明

用法示例

示例結果

string||string

text

將兩個字符串拼接。

'Post' || 'greSQL'

PostgreSQL

string||non-stringornon-string||string

text

將字符串和非字符串拼接。

'Value: ' || 42

Value: 42

bit_length()

int

獲取字符串二進制下總位數。

bit_length('jose')

32

char_length(string) or character_length()

int

獲取字符串的總位數。

char_length('jose')

4

lower(string)

text

將字符串轉換為小寫形式。

lower('TOM')

tom

octet_length(string)

int

計算指定字符串表達式的字節長度。

octet_length('jose')

4

overlay(placingfrom[for])

text

在原始字符串的指定位置替換一段子串。

overlay('Txxxxas' placing 'hom' from 2 for 4)

Thomas

position(in)

int

查找子字符串在另一段字符串中的起始位置。

position('om' in 'Thomas')

3

substring([from] [for])

text

從原始字符串中提取一段子串。

substring('Thomas' from 2 for 3)

hom

substring(from)

text

從原始字符串中提取一段子串,并且可以指定提取的起始位置和長度。

substring('Thomas' from '...$')

mas

substring(fromfor)

text

基于正則表達式從字符串中提取子串。

substring('Thomas' from '%#"o_a#"_' for '#')

oma

trim([leading | trailing | both] [] from)

text

移除字符串首部、尾部或兩端的指定字符。

trim(both 'xyz' from 'yxTomxx')

Tom

trim([leading | trailing | both] [from][,] )

text

移除字符串首部、尾部或兩端的空格或指定字符。

trim(both from 'xTomxx', 'x')

Tom

upper()

text

將字符串轉換成大寫形式。

upper('tom')

TOM

其他字符串函數

函數名稱

返回類型

函數說明

用法示例

示例結果

ascii()

int

獲取指定字符串中第一段字符的 ASCII 碼值。

ascii('x')

120

btrim([,])

text

從字符串的兩端移除指定的一組字符。如果未指定字符集合,則默認移除空白字符(如空格、制表符等)。

btrim('xyxtrimyyx', 'xyz')

trim

chr(

text

將指定的整數(假設該整數代表一段ASCII或擴展ASCII字符的編碼值)轉換成對應的字符。

chr(65)

A

concat([,[, ...] ])

text

將兩個或更多個字符串連接成一段字符串。

concat('abcde', 2, NULL, 22)

abcde222

concat_ws(,[,[, ...] ])

text

將多個字符串使用指定的分隔符 sep 連接成一段字符串,并且允許在連接的字符串之間插入一段自定義的分隔符。

concat_ws(',', 'abcde', 2, NULL, 22)

abcde,2,22

convert(,,)

bytea

將字符串轉換為dest_encoding,原始編碼由src_encoding指定。

convert('text_in_utf8', 'UTF8', 'LATIN1')

用Latin-1 encoding (ISO 8859-1) 表示的text_in_utf8

convert_from(,)

text

將二進制數據(bytea 類型)轉換為文本字符串,轉換時會使用指定的源字符編碼(src_encoding_name)。

convert_from('text_in_utf8', 'UTF8')

用當前數據庫編碼表示的text_in_utf8

convert_to(,)

bytea

將文本字符串轉換為二進制數據(bytea 類型),轉換時采用指定的目標字符編碼(dest_encoding_name)。

convert_to('some text', 'UTF8')

用UTF8編碼表達的some text

decode(,)

bytea

將十六進制字符串(表示為文本)解碼為其二進制表示形式(bytea 類型)。

decode('MTIzAAE=', 'base64')

\x3132330001

encode(,)

text

將二進制數據(bytea 類型)編碼為特定格式的文本字符串。

encode('123\000\001', 'base64')

MTIzAAE=

format([,[, ...] ])

text

格式化字符串輸出。

format('Hello %s, %1$s', 'World')

Hello World, World

initcap()

text

將字符串中每個單詞的首字母轉換為大寫,而其余字母轉換為小寫。

initcap('hi THOMAS')

Hi Thomas

left(,)

text

從一段指定的字符串(str)的開始位置提取指定數量(n)的字符。

left('abcde', 2)

ab

length()

int

計算指定字符串中字符的數量,包括空格和特殊字符。

length('jose')

4

length(,)

int

計算string在指定編碼中的字符數。

length('jose', 'UTF8')

4

lpad(,[,])

text

在字符串的左側填充指定的字符直到達到指定的長度

lpad('hi', 5, 'xy')

xyxhi

ltrim([,])

text

從字符串的左側移除指定的字符。如果不指定字符集,則默認移除空白字符(如空格、制表符、換行符等)。

ltrim('zzzytest', 'xyz')

test

md5()

text

計算輸入字符串的MD5散列值。

md5('abc')

900150983cd24fb0 d6963f7d28e17f72

parse_ident([,DEFAULT true ] )

text[]

解析一段符合SQL標識符規則的字符串,并將其分解成一個模式和一個對象名。

parse_ident('"SomeSchema".someTable')

{SomeSchema,sometable}

pg_client_encoding()

name

獲取當前會話的客戶端字符編碼設置。

pg_client_encoding()

SQL_ASCII

quote_ident()

text

將指定的字符串轉換為一段可以在SQL語句中安全使用的標識符。

quote_ident('Foo bar')

"Foo bar"

quote_literal()

text

強制轉換指定值為文本類型,并且用引號包圍。

quote_literal(E'O\'Reilly')

'O''Reilly'

quote_literal(valueanyelement)

text

強制轉換指定值為文本類型,并且用引號包圍。

quote_literal(42.5)

'42.5'

quote_nullable()

text

強制轉換指定值為文本類型,并且用引號包圍。如果參數為空,則返回NULL

quote_nullable(NULL)

NULL

quote_nullable()

text

指定值可以為任何類型,并且用引號包圍。

quote_nullable(42.5)

'42.5'

regexp_match(,[,])

text[]

執行正則表達式匹配。此函數在指定的字符串中搜索與指定模式匹配的子串,并返回匹配的結果數組。如果有多個匹配項,每個匹配都會作為一個元素返回。如果沒有匹配項,則返回 NULL。

regexp_match('foobarbequebaz', '(bar)(beque)')

{bar,beque}

regexp_matches(,[,])

setof text[]

執行正則表達式匹配。此函數在指定的字符串中搜索與指定模式匹配的子串,并返回所有匹配的結果。

regexp_matches('foobarbequebaz', 'ba.', 'g')

{bar}

{baz}

(2 rows)

regexp_replace(,,[,])

text

替換匹配POSIX正則表達式的子串。

regexp_replace('Thomas', '.[mN]a.', 'M')

ThM

regexp_split_to_array(,[,])

text[]

使用POSIX正則表達式作為分隔符劃分字符串。

regexp_split_to_array('hello world', '\s+')

{hello,world}

regexp_split_to_table(,[,])

setof text

使用POSIX正則表達式作為分隔符劃分字符串。

regexp_split_to_table('hello world', '\s+')

hello

world

(2 rows)

repeat(,))

text

重復指定的字符串指定的次數。

repeat('Pg', 4)

PgPgPgPg

replace(,,)

text

在指定的字符串中查找指定的子串并替換為另一段指定的子串。

replace('abcdefabcdef', 'cd', 'XX')

abXXefabXXef

reverse()

text

反轉指定字符串中的字符順序。

reverse('abcde')

edcba

right(,)

text

從指定的字符串(str)中提取最右邊的n個字符。

right('abcde', 2)

de

rpad(,[,])

text

在字符串的右側填充指定的字符,直到達到指定的總長度。

rpad('hi', 5, 'xy')

hixyx

rtrim([,])

text

刪除字符串末尾的指定字符或空白字符。

rtrim('testxxzx', 'xyz')

test

split_part(,,)

text

將字符串按照指定的分隔符分割。

split_part('abc~@~def~@~ghi', '~@~', 2)

def

strpos(,)

int

查找子字符串 substring 在字符串 string 中第一次出現的位置。

strpos('high', 'ig')

2

substr(,[,])

text

從原始字符串中提取子串。

substr('alphabet', 3, 2)

ph

starts_with(,)

bool

如果stringprefix開始則返回真。

starts_with('alphabet', 'alph')

t

to_ascii([,])

text

string從另一段編碼轉換到ASCII(只支持LATIN1LATIN2LATIN9WIN1250編碼的轉換)。

to_ascii('Karel')

Karel

to_hex(or)

text

將整數(integer)或大整數(bigint)類型的數值轉換為其對應的十六進制字符串表示。

to_hex(2147483647)

7fffffff

translate(,,)

text

將字符串中的某些字符替換為另一些字符。

translate('12345', '143', 'ax')

a2x5