pgsql的substr的用法
时间: 2023-12-17 13:04:46 浏览: 116
substr函数是PostgreSQL中用于截取字符串的函数,它的语法如下:
```
substr(string, start_position, [length])
```
其中,string为要截取的字符串,start_position为开始截取的位置,length为截取的长度。如果省略length,则截取从start_position开始到字符串末尾的所有字符。
例如,如果要从字符串'Hello, World!'中截取'World!',可以使用如下语句:
```
SELECT substr('Hello, World!', 8);
```
结果为:
```
World!
```
如果要从字符串'Hello, World!'中截取'World',可以使用如下语句:
```
SELECT substr('Hello, World!', 8, 5);
```
结果为:
```
World
```
注意,start_position从1开始计数,而不是从0开始计数。
相关问题
pgsql 截取字符串函数
在 PostgreSQL(一种开源的关系型数据库管理系统)中,有一个内置的字符串截取函数叫做 `substring()` 或者 `substr()`, 它用于从原始字符串中提取子串。以下是这两个函数的基本用法:
- `substring(string FROM start [FOR length])`: 这个函数接受三个参数,`string`是要处理的字符串,`start`是从哪个位置开始截取(包含该位置),`length`(可选)表示要截取的字符数。如果省略 `length`,则会一直截取到字符串结尾。
- `substr(string, start, length)`: 这两个参数的功能和上面的 `substring()` 函数类似,只是语法略有不同,`start` 和 `length` 的含义相同。
例如,如果你想截取一个名为 `name` 列中的姓氏,假设名字的格式为 "Last, First",你可以这样做:
```sql
SELECT substring(name FROM char_length(name) - length(' ') + 1);
```
或者
```sql
SELECT substr(name, strpos(name, ',') + 1);
```
这里第一个查询计算了逗号后的位置作为起始点,第二个查询则是直接定位到逗号后的字符开始截取。
pgsql两字段互换
引用提供了一种使用正则表达式的方法来实现字符串中两个字段的互换。具体代码如下:
```
SELECT regexp_substr('abc1,cbd2,db3,db5', '[^, ', 1, rownum) AS 字符串
FROM dual
CONNECT BY rownum <= length('abc1,cbd2,db3,db5') - length(replace('abc1,cbd2,db3,db5', ',', ''));
``<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [plsql 字符串转成数组(互换)](https://blog.csdn.net/qq_34745941/article/details/106348979)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文
相关推荐







