PostgreSQL:字元——型別及函式
字元型別
字串型別
下表列出了可在 PostgreSQL 通用字元型別。
名稱 | 描述 |
---|---|
character varying(n), varchar(n) | 變長,字元最大數有限制 |
character(n), char(n) | 定長,字元數沒有達到最大值則使用空白填充 |
text | 變長,無長度限制 |
二進位制型別
bytea 資料型別允許儲存二進位制字串。
名稱 | 儲存長度 | 描述 |
---|---|---|
bytea | 1或4位元組加上實際的二進位制字串 | 變長二進位制串 |
字元函式
函式 | 返回型別 | 描述 | 例子 | 結果 |
---|---|---|---|---|
string || string | text | 字串連線 | 'Post' || 'greSQL' | PostgreSQL |
bit_length(string) | int | 字串裡二進位制位的個數 | bit_length('jose') | 32 |
char_length(string) | int | 字串中的字元個數 | char_length('jose') | 4 |
convert(string using conversion_name) | text | 使用指定的轉換名字改變編碼。 | convert('PostgreSQL' using iso_8859_1_to_utf8) | 'PostgreSQL' |
lower(string) | text | 把字串轉化為小寫 | lower(' PostgreSQL') | postgresql |
octet_length(string) | int | 字串中的位元組數 | octet_length('jose') | 4 |
overlay(string placing string from int [for int]) | text | 替換子字串 | overlay('Txxxxas' placing 'hom' from 2 for 4) | Thomas |
position(substring in string) | int | 指定的子字串的位置 | position('om' in 'Thomas') | 3 |
substring(string [from int] [for int]) | text | 抽取子字串 | substring('Thomas' from 2 for 3) | hom |
substring(string from pattern) | text | 抽取匹配 POSIX 正規表示式的子字串 | substring('Thomas' from '…$') | mas |
substring(string from pattern for escape) | text | 抽取匹配SQL正規表示式的子字串 | substring('Thomas' from '%#"o_a#"_' for '#') | oma |
trim([leading丨trailing 丨 both] [characters] from string) | text | 從字串string的開頭/結尾/兩邊/ 刪除只包含characters(預設是一個空白)的最長的字串 | trim(both 'x' from 'xTomxx') | Tom |
upper(string) | text | 把字串轉化為大寫。 | upper('tom') | TOM |
ascii(text) | int | 引數第一個字元的ASCII碼 | ascii('x') | 120 |
btrim(string text [, characters text]) | text | 從string開頭和結尾刪除只包含在characters裡(預設是空白)的字元的最長字串 | btrim('xyxtrimyyx','xy') | trim |
chr(int) | text | 給出ASCII碼的字元 | chr(65) | A |
convert(string text, [src_encoding name,] dest_encoding name) | text | 把字串轉換為dest_encoding | convert( 'text_in_utf8', 'UTF8', 'LATIN1') | 以ISO 8859-1編碼表示的text_in_utf8 |
initcap(text) | text | 把每個單詞的第一個子母轉為大寫,其它的保留小寫。單詞是一系列字母數字組成的字元,用非字母數字分隔。 | initcap('hi thomas') | Hi Thomas |
length(string text) | int | string中字元的數目 | length('jose') | 4 |
lpad(string text, length int [, fill text]) | text | 透過填充字元fill(預設為空白),把string填充為長度length。 如果string已經比length長則將其截斷(在右邊)。 | lpad('hi', 5, 'xy') | xyxhi |
ltrim(string text [, characters text]) | text | 從字串string的開頭刪除只包含characters(預設是一個空白)的最長的字串。 | ltrim('zzzytrim','xyz') | trim |
md5(string text) | text | 計算給出string的MD5雜湊,以十六進位制返回結果。 | md5('abc') | |
repeat(string text, number int) | text | 重複string number次。 | repeat('Pg', 4) | PgPgPgPg |
replace(string text, from text, to text) | text | 把字串string裡出現地所有子字串from替換成子字串to。 | replace('abcdefabcdef', 'cd', 'XX') | abXXefabXXef |
rpad(string text, length int [, fill text]) | text | 透過填充字元fill(預設為空白),把string填充為長度length。如果string已經比length長則將其截斷。 | rpad('hi', 5, 'xy') | hixyx |
rtrim(string text [, character text]) | text | 從字串string的結尾刪除只包含character(預設是個空白)的最長的字 | rtrim('trimxxxx','x') | trim |
split_part(string text, delimiter text, field int) | text | 根據delimiter分隔string返回生成的第field個子字串(1 Base)。 | split_part('abc~@~def~@~ghi', '~@~', 2) | def |
strpos(string, substring) | text | 宣告的子字串的位置。 | strpos('high','ig') | 2 |
substr(string, from [, count]) | text | 抽取子字串。 | substr('alphabet', 3, 2) | ph |
to_ascii(text [, encoding]) | text | 把text從其它編碼轉換為ASCII。 | to_ascii('Karel') | Karel |
to_hex(number int/bigint) | text | 把number轉換成其對應地十六進位制表現形式。 | to_hex(9223372036854775807) | 7fffffffffffffff |
translate(string text, from text, to text) | text | 把在string中包含的任何匹配from中的字元的字元轉化為對應的在to中的字元。 | translate('12345', '14', 'ax') | a23x5 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31490526/viewspace-2738198/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料型別與函式索引-PostgreSQL篇資料型別函式索引SQL
- PostgreSQL:陣列——型別、運算子和函式SQL陣列型別函式
- PostgreSQL:數字——型別、運算子和函式SQL型別函式
- PostgreSQL:時間——型別、運算子和函式SQL型別函式
- PostgreSQL:網路地址——型別、運算子和函式SQL型別函式
- TypeScript 函式型別TypeScript函式型別
- Oracle vs PostgreSQL,研發注意事項(5)- 字元型別OracleSQL字元型別
- Python 序列型別以及函式引數型別Python型別函式
- MySQL 字元型別MySql字元型別
- 胡說-JavaScript函式型別JavaScript函式型別
- 函式引數 引數定義函式型別函式型別
- 第 8 節:函式-函式型別與作用域函式型別
- PostgreSQL:其它型別SQL型別
- PostgreSQL之SQL函式介紹及實踐(一)SQL函式
- Python之字元型別Python字元型別
- Oracle OCP(03):字元函式、數字函式和日期函式Oracle字元函式
- PostgreSQL:視窗函式SQL函式
- 請別誤用 TypeScript 過載函式型別TypeScript函式型別
- excel 字元比較函式Excel字元函式
- string型別資料的find函式型別函式
- String型別函式傳遞問題型別函式
- PostgreSQL函式裡呼叫函式(SETOF + RETURN QUERY)SQL函式
- SQL SERVER 日期和時間資料型別及函式 (Transact-SQL)SQLServer資料型別函式
- 11.8 python之字元型別Python字元型別
- python函式每日一講 - float函式型別轉換詳解Python函式型別
- C++ 數學函式、標頭檔案及布林型別詳解C++函式型別
- PostgreSQL DBA(73) - dump函式SQL函式
- python使用魔法函式建立可切片型別Python函式型別
- 從建構函式得到引數型別函式型別
- sql server 資料型別轉換函式SQLServer資料型別函式
- 函式匹配和實參型別轉換函式型別
- C++型別轉換建構函式C++型別函式
- 資料型別與函式索引-MySQL篇資料型別函式索引MySql
- 資料型別與函式索引-Oracle篇資料型別函式索引Oracle
- 建構函式定義的隱式型別轉換函式型別
- Libevent應用 (四) 輔助型別和函式型別函式
- C++模板函式實現型別推導C++函式型別
- PostgreSQL>視窗函式的用法SQL函式