[千字长文系列] 🌏探秘PG之一文带你玩转PostgreSQL🐳(七)
🗻 简介:
往期精选文章,精彩不容错过,求赞求关注!
🗺️ PG系列文章:
PG系列文章,想学习更多PG芝士,快来吧🦸🏻♂️!
[千字长文系列] 🌏探秘PG之一文带你玩转PostgreSQL🔥 (一)
[千字长文系列] 🌏探秘PG之一文带你玩转PostgreSQL🍭(二)
[千字长文系列] 🌏探秘PG之一文带你玩转PostgreSQL🍌 (三)
[千字长文系列] 🌏探秘PG之一文带你玩转PostgreSQL🎵(四)
[千字长文系列] 🌏探秘PG之一文带你玩转PostgreSQL✒️(五)
[千字长文系列] 🌏探秘PG之一文带你玩转PostgreSQL🔬(六)
📋🐳🐋🐟
🐳PostgreSQL String 函数
思维导图
🐳PostgreSQL ASCII 函数
📋前言: PostgreSQLASCII()
函数返回一个ASCII字符的代码值。在UTF-8的情况下,ASCII()
函数返回字符的Unicode码位。
🐋语法
下面说明ASCII函数的语法:
ASCII(char)
🐋入参
ASCII()
函数需要一个参数:
1) char
char
参数是你想要获取其ASCII码的一个字符
如果我们将字符串传递给ASCII()
函数,它将返回第一个字符的ASCII码。
🐋返回值
ASCII()
函数返回一个表示输入字符的ASCII代码值的整数。
对于UTF-8字符,它返回与Unicode代码点相对应的整数。
🐋示例
以下示例使用ASCII()
函数获取字符A
和a
的ASCII码值:
SELECT
ASCII( 'A' ),
ASCII( 'a' );
输出如下:
如果我们将多个字符传递给ASCII()
函数,将获得第一个字符的ASCII码,如以下示例所示:
SELECT
ASCII( 'ABC' );
该函数返回字母A的ASCII码,其值为65,如下所示:
以下示例说明如何使用ASCII()函数
获取UTF-8字符的Unicode码位:
SELECT
ASCII( 'Ω' );
🐋备注
要通过ASCII代码值或Unicode码位获取字符,请使用CHR()
功能。
🐳PostgreSQL CHR 函数
📋PostgreSQL
CHR()
函数将整数ASCII码转换为字符,或将Unicode码位转换为UTF8字符。
🐋语法
下面说明CHR()
函数的语法:
CHR(num)
🐋入参
CHR()
函数需要一个参数:
1) num
num
参数是转换为相应ASCII码的整数;它也可以是一个转换为UTF8字符的Unicode码位。
🐋返回值
CHR()
函数返回与ASCII代码值或Unicode码位相对应的字符。
🐋示例
以下示例显示如何使用CHR()
函数获取ASCII代码值为65和97的字符:
SELECT
CHR(65),
CHR(97);
查询返回字符A表示CHR(65),字符a表示CHR(97):
下面是基于Unicode码位937获取UTF8字符的示例:
SELECT
CHR(937);
Unicode码位937的输出是 Ω。
🐋备注
要获取字符的ASCII码或UTF-8码位,请使用ASCII()
函数。
🐳PostgreSQL Letter Case 函数
📋简介: 在本节中,我们将学习如何使用
LOWER
,UPPER
和INITCAP
函数将字符串表达式、列中的值等转换为小写、大写和适当大小写
🐋PostgreSQL LOWER 函数
要将列中的字符串、表达式或值转换为小写,请使用LOWER
函数。:
下面说明LOWER()
函数的语法:
LOWER(string_expression)
LOWER()
函数接受字符串类型 (例如char、varchar或text) 的参数,并将其转换为小写格式。如果参数是字符串可转换的,则使用CAST
函数显式转换为字符串的函数。
以下语句使用LOWER
函数获取用户的小写名称:
SELECT
LOWER (user_name) as name
FROM
user
ORDER BY user_name;
🐋PostgreSQL UPPER 函数
要将字符串转换为大写,请使用PostgreSQLUPPER
函数。
下面说明UPPER()
函数的语法:
UPPER(string_expression)
和LOWER
函数类似,UPPER
函数接受字符串表达式或字符串可转换表达式,并将其转换为大写格式。如果参数不是字符串,则必须使用CAST
函数来显式转换它。
使用示例:
SELECT
UPPER (user_name) as name
FROM
user
ORDER BY user_name;
🐋PostgreSQL INITCAP 函数
INITCAP()
函数将字符串表达式转换为适当的大写或小写,每个单词的第一个字母为大写,其余字符为小写。
下面说明INITCAP()
函数的语法:
INITCAP(string_expression)
我们经常使用INITCAP()
函数用于英文标题、英文名等。例如,使用以下语句在适当情况下格式化用户名称:
SELECT
INITCAP (user_name) as name
FROM
user
ORDER BY user_name;
🐳PostgreSQL POSITION 函数
PostgreSQL POSITION()
函数返回字符串中子字符串的位置。
📋简介: 在本节中,我们将学习
POSITION()
函数,它返回字符串中子字符串的位置。
🐋语法
下面说明POSITION()
函数的语法:
POSITION(substring in string)
🐋入参
POSITION()
函数需要两个参数:
1) substring
substring参数是要定位的字符串。
2) string
string
参数是搜索的子字符串。
🐋返回值
POSITION()
函数返回一个整数,它表示子字符串在字符串中的位置。
POSITION()
如果在字符串中找不到子字符串,则函数返回零 (0)。如果 substring
或string
其中一个参数是null,则返回nulll.
🐋示例
以下示例返回'S'
在字符串'全球总决赛S12'
中位置:
SELECT POSITION('S' IN '全球总决赛S12');
结果如下:
position
----------
6
(1 row)
❗注意
POSITION()
函数区分搜索子字符串大小写。
请参阅以下示例:
SELECT POSITION('s' IN '全球总决赛S12');
它返回 (0),表示字符串s
不存在于'全球总决赛S12'
字符串中.
🐋备注
POSITION()
函数返回字符串中子字符串的第一个实例的位置。
考虑以下示例:
SELECT POSITION('L' IN 'LPL是第一赛区');
结果是:
position
----------
1
(1 row)
即使子字符串'L'
在字符串'LPL是第一赛区'
中出现两次, POSITION()
函数仅返回了第一个匹配项。
🐳PostgreSQL Substring 函数
📋简介: 在本节中,我们将学习Substring 函数,它可以从字符串中提取子字符串
🐋PostgreSQL substring 函数简介
substring
函数返回字符串的一部分。
下面说明substring()
函数的语法:
SUBSTRING ( string ,start_position , length )
让我们详细介绍每个参数:
-
string
是一个字符串数据类型,是char、varchar、text等。 -
start_position
是一个整数,指定要提取子字符串的位置。如果start_position
等于零,子字符串从字符串的第一个字符开始。start_position
只能是正数。(尽管在其他数据库系统中,如MySQL子字符串函数可以接受start_position
是负数。) -
length
是一个正整数,用于确定要从字符串中提取的字符数亮,开头为start_position
。如果start_position
和length
之和大于string
中的字符数,substring
函数返回从开始位置
。length参数是可选的。如果省略length参数,substring
函数将返回从start_position
开始的整个字符串。
🐋PostgreSQL substring 示例
请参阅以下示例:
SELECT
SUBSTRING ('PostgreSQL', 1, 8); -- PostgreS
SELECT
SUBSTRING ('PostgreSQL', 8); -- SQL
在第一个语句中,我们提取一个长度为8的子字符串,它从PostgreSQL
字符串第一位开始。我们得到PostgreS
结果。
在第二个语句中,我们提取一个从位置8开始的子字符串,并省略length参数。子字符串是从8开始的字符串,即SQL。
PostgreSQL提供了substring函数的另一种语法,如下所示:
substring(string from start_position for length);
在这种形式下,PostgreSQL将三个参数合二为一。请参阅以下示例:
SELECT
SUBSTRING ('PostgreSQL' FROM 1 FOR 8); -- PostgreS
SELECT
SUBSTRING ('PostgreSQL' FROM 8); -- SQL
结果与第一个示例中的结果相同。
🐋提取与POSIX正则表达式匹配的子字符串
除了SQL-standard substring函数之外,PostgreSQL还允许我们使用POSIX正则表达式。下面说明了substring函数使用POSIX正则表达式的语法:
SUBSTRING(string FROM pattern)
或者,可以使用以下语法:
SUBSTRING(string,pattern);
请注意,如果未找到匹配项,则substring函数返回null值。如果pattern包含任何括号,则substring函数返回与第一个带括号的子表达式匹配的文本。
以下示例从字符串中提取手机号前三位 (从0到9,最多3位数字):
SELECT
SUBSTRING (
'手机号为 18888888888',
'([0-9]{1,3})'
) as phone_nbr;
🐋提取与SQL正则表达式匹配的子字符串
除了POSIX正则表达式模式之外,还可以使用以下语法使用SQL正则表达式模式从字符串中提取子字符串:
SUBSTRING(string FROM pattern FOR escape-character)
这种形式的substring
函数接受三个参数:
string
: 是要提取子字符串的字符串。- escape-character: 转义字符。
pattern
**是一个包含在转义字符内的正则表达式,后跟一个双引号 ("
)。例如,如果字符#
是转义字符,pattern 将是#"pattern#"
。此外,pattern
**必须匹配整个string
,否则,substring 函数将失败并返回NULL
。
请参阅以下示例:
SELECT SUBSTRING (
'PostgreSQL'
FROM
'%#"S_L#"%' FOR '#'
); -- SQL
SELECT SUBSTRING (
'369'
FROM
'#"S_Q#"%' FOR '#'
); -- NULLL
PostgreSQL提供了另一个名为substr
函数具有substring
函数相同功能。
🐋总结
- 使用PostgreSQL substring函数从字符串中提取子字符串。
🐳PostgreSQL SPLIT_PART 函数
📋简介: 在本节中,我们将学习PostgreSQL SPLIT_PART() 函数,在指定的分隔符上拆分字符串,并返回第n个子字符串。
🐋语法
下面说明SPLIT_PART()
函数的语法:
SPLIT_PART(string, delimiter, position)
🐋入参
SPLIT_PART()
函数需要三个参数:
1) string
是要拆分的字符串。
2) delimiter
分隔符,是用作拆分分隔符的字符串。
3) position
是要返回的起始位置,从1开始。position
必须是正整数。
如果position
大于拆分后的长度,SPLIT_PART()
函数返回一个空字符串。
🐋返回值
SPLIT_PART()
函数返回拆分字符串指定位置的一部分。
🐋示例
请参阅以下语句:
SELECT SPLIT_PART('3,6,9', ',', 3);
字符串'3,6,9'
在逗号分隔符 (,) 上拆分,产生3个子字符串: '3' 、 '6' 和 '9'。
因为position
参数为3,该函数返回第三个子字符串 '3'。
这是输出:
首先,创建表命名rank
拥有create_time列,这是一个TIMESTAMP WITH TIME ZONE
列。
CREATE TABLE rank(
rank_id serial PRIMARY KEY,
rank_name varchar(255) NOT NULL,
create_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
插入rank
表格:
INSERT INTO rank(rank_name)
VALUES('韩服排位精选,十职业哥混战');
以下语句使用SPLIT_PART()
返回create_time
的年份和月份的功能:
SELECT
split_part(create_time::TEXT,'-', 1) y,
split_part(create_time::TEXT,'-', 2) m,
FROM
rank;
输出如下
🐳PostgreSQL REPLACE 函数
📋简介: 在本节中,我们将学习PostgreSQL replace函数,函数搜索并将子字符串替换为字符串中的新子字符串。
🐋语法
有时,我们会有搜索一列中的字符串并将其替换为新字符串的需求,例如替换指定数字/文字、url和html脚本等等。
要搜索所有出现的字符串并将其替换为新字符串,请使用REPLACE ()
功能。
下面说明REPLACE()
函数的语法:
REPLACE(source, old_text, new_text );
🐋入参
REPLACE()
函数有三个参数:
source
是要替换的字符串。old_text
是要搜索和替换的文本。如果old_text
在字符串中出现多次,所有出现的内容都将被替换。new_text
是被替换的文本。
🐋返回值
REPLACE()
函数返回一个被替换后的文本字符串。
🐋示例
请看如下示例
SELECT
REPLACE ('36999', '3', '9');
如果要搜索和替换表列中的子字符串,请使用以下语法:
UPDATE
table_name
SET
column_name = REPLACE(column,old_text,new_text)
WHERE
condition
🐳PostgreSQL REGEXP_REPLACE 函数
📋简介: 在本节中,我们将学习
REGEXP_REPLACE()
函数替换与POSIX正则表达式匹配的字符串。
🐋语法
下面说明REGEXP_REPLACE()
函数的语法:
REGEXP_REPLACE(source, pattern, replacement_string,[, flags])
🐋入参
REGEXP_REPLACE()
函数接受四个参数:
1) source
source
是被替换的字符串。
2) pattern
POSIX正则表达式。
3) replacement_string
replacement_string
是一个作为替换条件的子字符串。
4) flags
flags
参数是控制函数匹配行为的一个或多个字符,例如,w允许不区分大小写的匹配,n允许匹配任何字符以及换行符。
🐋返回值
PostgreSQLREGEXP_REPLACE()
函数返回带有子字符串的新字符串,该字符串与POSIX正则表达式模式匹配,并替换为新子字符串。
🐋示例
让我们看一些例子来理解REGEXP_REPLACE()
函数。
A) 调整字符顺序
假设有以下格式的字符串:
str1, str2
例如, 帅哥
出于某种理由,你想要调换两个字符的顺序为:
str2,str1
为此,可以使用REGEXP_REPLACE()
函数:
SELECT REGEXP_REPLACE('帅 哥','(.*) (.*)','\2, \1');
语句的输出为:
'哥, 帅'
B) String 移除
假设有混合字母和数字的字符串数据,如下所示:
gg555gg
以下语句从源字符串中删除所有字母:
SELECT REGEXP_REPLACE('gg555gg','[[:alpha:]]','','g');
输出如下:
'555'
在此示例中,
-
[[:alpha:]]
匹配任何字母 -
''
是替换字符串 -
'g'
指示函数删除所有字母,而不仅仅是第一个字母。
同样,我们可以使用以下语句删除源字符串中的所有数字:
SELECT REGEXP_REPLACE('gg555gg','[[:digit:]]','','g');
输出为:
'gggg'
C) 去除冗余
以下示例删除字符串中不需要的空格。
SELECT REGEXP_REPLACE(' a s d ','( ){2,}',' ');
🐳PostgreSQL REGEXP_MATCHES 函数
📋简介: 在本节中,我们将学习REGEXP_MATCHES 函数,将POSIX 正则表达式与字符串匹配并返回匹配的子字符串。
🐋语法
下面说明REGEXP_MATCHES()
函数的语法:
REGEXP_MATCHES(source_string, pattern [, flags])
🐋入参
REGEXP_MATCHES()
函数有三个参数:
1) source
source
是被提取的字符串。
2) pattern
pattern
是用于匹配的POSIX正则表达式。
3) flags
flags
参数是控制函数的一个或多个字符。例如, i
允许你不敏感地匹配。
🐋返回值
REGEXP_MATCHES()
函数返回字符串列表,即使结果数组仅包含单个元素。
🐋示例
假设,你有一个字符串如下:
'Rookie尽力了JKL启动了THESHY来全杀了'
使用如下语句, REGEXP_MATCHES
函数提取:
SELECT
REGEXP_MATCHES('#Rookie尽力了 #JKL启动了 #THESHY来全杀了',
'#([A-Za-z0-9_]+)',
'g');
在此示例中,以下以正则表达式匹配哈希字符的任何单词开头 (#
),后跟任何字母数字字符或下划线 (_
)。
#([A-Za-z0-9_]+)
g
flag参数用于全局搜索。
输出如下:
结果集有三行,每一行都是数组,表示有三个匹配项。
注意REGEXP_MATCHES()
以数组而不是字符串的形式返回每一行。因为如果使用数组来捕获文本的一部分,则数组将包含组,如以下示例所示:
SELECT REGEXP_MATCHES('ABC', '^(A)(..)$', 'g');
输出如下:
regexp_matches
----------------
{A,BC}
(1 row)
🐳PostgreSQL LENGTH 函数
📋简介: 在本节中,我们将学习各种PostgreSQL LENGTH 函数,返回字符串的字符数或字节数。
🐋语法
下面说明LENGTH()
函数的语法:
LENGTH(string);
🐋入参
length函数接受字符串作为参数。字符串可以是以下任意一种 数据类型:
- character 或者char
- character varying 或者 varchar
- text
🐋返回值
length函数返回字符串中的字符数。
🐋示例
请参阅以下使用length函数的示例:
SELECT
LENGTH ('Rookie尽力了JKL启动了THESHY来全杀了'); -- 25
请注意,字符串可以包含空字符串,它不是null值。
SELECT
LENGTH (''); -- 0
返回零。但是,包含空格字符的字符串:
SELECT
LENGTH (' '); -- 1
返回1。
如果将NULL值传递给length函数,它将返回NULL值。
SELECT
LENGTH (NULL); -- NULL
有时,我们可能想要测量数字的长度而不是字符串的长度。在这种情况下,可以使用CAST将数字转换为字符串并使用length函数,示例如下:
SELECT
LENGTH (CAST(369 AS TEXT)); --- 3
我们经常将length函数与其他字符串函数一起使用,例如replace,substring等,以更有效地操纵字符串。以下语句从邮件地址获取前缀和后缀,使用SUBSTRING
,strpos
,以及LENGTH
函数。
SELECT
SUBSTRING (
'info@qq.com',
1,
strpos(
'info@qq.com',
'@'
) - 1
) AS user_name,
SUBSTRING (
'info@qq.com',
strpos(
'info@qq.com',
'@'
) + 1,
LENGTH (
'info@qq.com'
)
) AS domain_name;
除了length函数之外,PostgreSQL还提供char_length
和character_length
提供相同功能。
🐋以字节和位为单位测量字符串
语法:
OCTET_LENGTH(string);
示例:
SELECT
OCTET_LENGTH ('A'); -- 1 byte
它返回1个字节。
SELECT
OCTET_LENGTH ('€'); -- 3 bytes
它返回3个字节。但是,对于length函数,它仅返回1。
SELECT
LENGTH ('€'); -- 1
要测量字符串的bits数,请使用bit_length
函数,语法如下:
BIT_LENGTH(string);
示例:
SELECT
BIT_LENGTH ('A'); -- 8 bits;
SELECT
BIT_LENGTH ('€'); -- 24 bits;
🐳PostgreSQL TRIM 函数
📋简介: 在本节中,我们将学习
TRIM ()
函数,它可以从字符串中删除包含空格或特定字符。
TRIM()
函数非常常用,我们可以使用它来格式化数据。
🐋语法
下面说明TRIM ()
函数的语法:
TRIM([LEADING | TRAILING | BOTH] [characters] FROM string)
从字符串开头删除空格:
TRIM(LEADING FROM string)
删除字符串末尾的所有空格。
TRIM(TRAILING FROM string)
删除字符串开头和结尾的所有空格:
TRIM(BOTH FROM string)
更简单地:
TRIM(string)
🐋入参
[LEADING | TRAILING | BOTH] [characters]
删除策略:头、尾、首尾
characters
要删除的的字符,不传为空格
string
要删除的字符串
🐋返回值
TRIM()
函数返回删除指定位置传入字符之后的字符串
🐋示例
以下是从字符串中删除首、尾以及首尾空格的示例。
SELECT
TRIM (
LEADING
FROM
' LPL 牛牛 牛 '
),
TRIM (
TRAILING
FROM
' LPL 牛牛 牛 '
),
TRIM (' LPL 牛牛 牛 ');
以下语句从数字中删除头部的 (0)。因为TRIM()
函数只接受一个string
作为参数,我们必须使用CAST
转换数字字符。
SELECT
TRIM (
LEADING '0'
FROM
CAST (0007777 AS TEXT)
); -- 7777
🐋备注
默认情况下,TRIM()
如果未明确指定要删除的字符,则函数删除空格 ('')。
TRIM()
函数,可以从字符串的开头、结尾或开头和结尾删除指定字符串。请注意,字符串可以是以下任意一种数据类型: char, varchar, 和text.
🐋PostgreSQL LTRIM, RTRIM, 和BTRIM 函数
PostgreSQL提供LTRIM,
RTRIM()
和BTRIM
函数
-
LTRIM()
函数从字符串开头删除所有字符,默认为空格。 -
RTRIM()
函数从字符串末尾删除所有字符,默认为空格。 -
BTRIM
功能是组合的LTRIM()
和RTRIM()
函数。
LTRIM()
和RTRIM()
的语法如下:
LTRIM(string, [character]);
RTRIM(string, [character]);
BTRIM(string, [character]);
这相当于以下TRIM()
语法:cccc
TRIM(LEADING character FROM string); -- LTRIM(string,character)
TRIM(TRAILING character FROM string); -- RTRIM(string,character)
TRIM(BOTH character FROM string); -- BTRIM(string,character)
让我们看一下以下使用 LTRIM(
), RTRIM()
, 和BTRIM()
删除字符的功能 :
SELECT
LTRIM('777clearlove777', '7'),
RTRIM('777clearlove777', '7'),
BTRIM('777clearlove777', '7');
🐋使用REGEXP_REPLACE()
从字符串中删除空格字符
从字符串中删除首尾空格字符的一种方法是使用REGEXP_REPLACE()
功能。例如,
SELECT REGEXP_REPLACE('777 ', '\s+$', '');
\s+$
表达式解释如下:
\s
: 用于空格的正则表达式类简写。+
表示1个或多个连续匹配。$
表示字符串的末尾。
要删除首空格字符,请使用正则表达式^\s+
。
🐳PostgreSQL FORMAT 函数
📋简介: 在本节中,我们将学习
FORMAT()
函数,基于格式字符串格式化参数。
🐋语法
下面说明FORMAT()
函数的语法:
format(format_str, [param1[, param2] ...])
FORMAT()
函数是可变的,因此,你可以把要格式化的参数作为一个标有VARIADIC
关键字的数组传递。
FORMAT()
函数将数组的元素视为普通参数,将NULL视为零元素数组。
🐋入参
FORMAT()
函数有2个入参:
1) format_string
format_string
参数是一个字符串,指定应如何格式化结果字符串。
format_string
由文本和格式说明符组成。文本直接复制到结果字符串,而格式说明符是要插入到结果字符串中的参数的占位符。
下面显示了格式说明符的语法:
%[position][flags][width]type
格式说明符由 % 开始,由类型结束,中间有 3 个可选的参数 position
, flags
, 和 width
:
a) position
position
指定要在结果字符串中插入的参数. position
的格式是n$,其中n是参数索引。第一个参数从1开始。如果不指定n,默认是使用参数列表中的下一个参数。
b) flags
可选参数。 与宽度选项搭配使用。目前仅支持一个符号:减号(-),它表示输出左对齐。未指定宽度时,不起作用。
c) width
可选参数。它用来设置此格式说明符输出的最少字符数。根据 flags
的设定,对输出进行左侧填充或右侧填充空格。如果指定的宽度小于参数的宽度,则不起任何作用。
这个参数可以使用下列中的任何一个:
- 一个正整数值
- 一个星号 (*) -使用下一个函数参数作为宽度
- 一个格式为 *n$ 的字符串-用于使用第 n 个函数参数作为宽度。
t y pe
必须参数。 指定格式说明符的输出的类型。支持下列的类型:
- s -将参数值的格式设置为简单字符串。空值被视为空字符串。
- I -将参数值视为 SQL 标识符,必要时对其进行双引号包围。值为 null 是错误的
- L -将参数值引起来作为 SQL 文本。空值显示为字符串 NULL,不带引号
我们经常使用 I
和L
用于构建动态SQL语句。
如果想使用百分号%,请按如下语法使用%%
2) format_arg
可选参数。 格式字符串中的格式说明符引用的参数。如果参数多于格式说明符,则会忽略额外的参数。参数的数量是可变的,可能为零。
🐋返回值
FORMAT()
函数根据指定的格式字符串和参数返回一个格式化的字符串
🐋示例
以下是使用FORMAT()
函数的示例sql:
SELECT FORMAT('LPL, %s','牛牛牛');
输出如下
'LPL, 牛牛牛'
使用flags
**示例
SELECT FORMAT('|%10s|', '666');
输出字符串用空格和右对齐填充。
format
--------------
| 666|
(1 row)
要使其左对齐,请使用-作为标志:
SELECT FORMAT('|%-10s|', '666');
输出如下
format
--------------
|666 |
(1 row)
使用position
示例
SELECT
FORMAT('%3$s 冠军, %2$s 冠军, %1$s 冠军', 'msi', '夏季赛', 's12');
输出如下
format
---------------------------------------
s12 冠军, 夏季赛 冠军, msi 冠军
(1 row)
🐳PostgreSQL MD5() 函数
📋简介: 在本节中,我们将学习PostgreSQL
md5()
函数计算一个指定的字符串的 md5 哈希值,并返回计算结果的十六进制形式。
🐋md5()
语法
这是 PostgreSQL md5()
函数的语法:
md5(string)
🐋参数
-
string
必填,需要计算 MD5 哈希的字符串。
🐋返回值
PostgreSQL md5()
函数计算一个指定的字符串的 md5 哈希值,并返回计算结果的十六进制形式。
若参数为 NULL
,该函数将返回 NULL
。
🐋md5()
示例
这个示例说明了使用 md5()
函数生成字符串 lpl牛
的 MD5 哈希。
SELECT md5('lpl牛') AS "md5('lpl牛')";
md5('lpl牛')
----------------------------------
e3b9b9009e2249f6179dd2c4926a91b3
🐳PostgreSQL LEFT 函数
📋简介: 在本节中,我们将学习
LEFT()
函数,
在指定字符串中提取最左侧的指定数量的字符并返回。
🐋语法
下面说明LEFT()
函数的语法:
LEFT(string, n)
🐋入参
LEFT()
函数有2个入参:
string
必填。 字符串。n
必填。 需要返回的字符的数量。它可以是正数或者负数。如果它是负数,LEFT()
函数将返回除了最右侧的-n
个字符之外的其他字符。
🐋返回值
LEFT()
函数返回
PostgreSQL LEFT()
函数返回字符串 str 的最左侧的 n
个字符。
如果 n
是负数,LEFT()
函数将返回字符串中除了最右侧的 -n
个字符之外的其他字符。
如果 n
大于 string
的长度,LEFT()
函数函数将返回 string
。
如果 n
等于 0, LEFT()
函数将返回空串 ''。
若参数为 NUll
,该函数将返回 NUll
。
🐋示例
以下是使用LEFT()
函数的示例sql:
SELECT LEFT('369', 2) AS "LEFT('369', 2)";
LEFT('369', 2)
------------------
36
你可以为 num
指定一个负数:
SELECT LEFT('369', -1) AS "LEFT('369', -1)";
LEFT('369', -3)
-------------------
36
这里,由于 num
为 -1
,因此,除最右侧的 1 个字符之外,其他的字符被返回。即: 36
。
🐋备注
LEFT()
函数常用语select
子句或where
子句中。
🐳PostgreSQL RIGHT 函数
📋简介: 在本节中,我们将学习
RIGHT()
函数,
在指定字符串中提取最右侧的指定数量的字符并返回。
🐋语法
下面说明RIGHT()
函数的语法:
RIGHT(string, n)
🐋入参
RIGHT()
函数有2个入参:
string
必填。 字符串。n
必填。 需要返回的字符的数量。它可以是正数或者负数。如果它是负数,LEFT()
函数将返回除了最右侧的-n
个字符之外的其他字符。
🐋返回值
RIGHT()
函数返回
PostgreSQL RIGHT()
函数返回字符串 str 的最右侧的 n
个字符。
如果 n
是负数,LEFT()
函数将返回字符串中除了最左侧的 -n
个字符之外的其他字符。
如果 n
大于 string
的长度,RIGHT()
函数函数将返回 string
。
如果 n
等于 0, RIGHT()
函数将返回空串 ''。
若参数为 NUll
,该函数将返回 NUll
。
🐋示例
以下是使用RIGHT()
函数的示例sql:
SELECT RIGHT('369', 2) AS "RIGHT('369', 2)";
RIGHT('369', 2)
------------------
69
你可以为 num
指定一个负数:
SELECT RIGHT('369', -1) AS "RIGHT('369', -1)";
RIGHT('369', -3)
-------------------
69
这里,由于 num
为 -1
,因此,除最左侧的 1 个字符之外,其他的字符被返回。即: 69
。
🐋备注
RIGHT()
函数常用语select
子句或where
子句中。
未完待续...既然看到这里了,不妨来个大大的点赞叭
转载自:https://juejin.cn/post/7158675778383642660