在上一篇博文中我们交流了数值型函数,这篇我们将讨论PostgreSQL中的字符型函数。

1. reverse(string)

reverse函数可以将string字符串的字母显示顺序颠倒。

test=# select reverse ('world');
 reverse
---------
 dlrow
(1 row)

test=#

2. position(str1 in str)

position函数用来返回子字符串str1在str中的开始位置。

test=# select position ('ball' in 'basketball');
 position
----------
        7
(1 row)

test=#

3. replace (s,s1,s2)

replace函数返回字符串s2替代字符串s中所有的字符串s1后的结果。

test=# select replace ('aello','a','h');
 replace
---------
 hello
(1 row)

test=#

4. repeat(s,n)

repeat用来返回字符串s重复n次的值。当n<=0、s或n为null,都会返回空值。

test=# select repeat('world',2) as col1,repeat('world',-1) as col2,repeat(null,2) as col3,repeat('world',null);
    col1    | col2 | col3 | repeat
------------+------+------+--------
 worldworld |      |      |
(1 row)

test=#

5. ltrim(str)、rtrim(str)和trim(str)

ltrim返回删除左边空格后的字符串str;

rtrim返回删除右边空格后的字符串str;

trim返回删除左右两边空格后的字符串str。

test=# select '( world )',concat('(',ltrim(' world '),')') as col1,concat('(',rtrim(' world '),')') as col2,concat('(',trim(' world '),')') as col3;
 ?column?  |   col1   |   col2   |  col3   
-----------+----------+----------+---------
 ( world ) | (world ) | ( world) | (world)
(1 row)

test=#

6. trim (s1 from s)

trim (s1 from s)删除字符串s中两端的s1,当s1缺省时,默认删除空格。在字符串内部出现的s1不会被删除。

test=# select trim ('abc' from 'abcpostabcgresqlabc');
     btrim     
---------------
 postabcgresql
(1 row)

test=#

7. lpad(s1,len,s2)和rpad(s1,len,s2)

lpad和rpad函数,用字符串s2在s1的左/右填充,使s1到达len个字符长度,最终返回填充后的s1。假如s1大于len长度,则返回值被缩短至len长度。

test=# select 'world',lpad('world',10,'x') as col1,lpad('world',3,'x') as col2,rpad('world',10,'x') as col3,rpad('world',3,'x') as col4;
 ?column? |    col1    | col2 |    col3    | col4
----------+------------+------+------------+------
 world    | xxxxxworld | wor  | worldxxxxx | wor
(1 row)

test=#

8. left(s,n)和right(s,n)

left(s,n)和right(s,n)返回字符串s最左/右边开始的n的字符。

test=# select left('postgresql',4) as col1,right('postgresql',3) as col2;
 col1 | col2
------+------
 post | sql
(1 row)

test=#

9. concat(s1,s2,s3...)和concat_ws(x,s1,s2,s3...)

concat(s1,s2,s3...)表示将括号内的字符串连接在一起,不能指定分隔符;

concat_ws(x,s1,s2,s3...)功能和concat一样,但可以指定x为分隔符;

括号内的字符串为null,则在连接时自动忽略;只要有一个参数是二进制字符串,那么结果将会是二进制字符串格式。

test=# select concat('I','Love','China') as col1,concat_ws('-','I','Love','China') as col2;
    col1    |     col2     
------------+--------------
 ILoveChina | I-Love-China
(1 row)

test=#

10. char_length(str)和length(str)

char_length返回str字符串的字符个数,length返回字符串str的字节个数。在我们经常使用的utf8字符集中,一个数字或者字符占一个字节,一个汉字占三个字节。

test=# select char_length('world') as col1,length('world') as col2;
 col1 | col2
------+------
    5 |    5
(1 row)

test=#

【PostgreSQL-9.6.3】函数(2)--字符型函数的更多相关文章

  1. oracle 10g函数大全--字符型函数

    ASCII(x1) [功能]:返回字符表达式最左端字符的ASCII 码值. [参数]:x1,字符表达式 [返回]:数值型 [示例] SQL> select ascii('A') A,ascii( ...

  2. Oracle 函数-字符型函数

    1.字符型函数 函数 说明 案例 结果 ASCII(X) 求字符X的ASCII码 select ASCII('A') FROM DUAL; 65 CHR(X) 求ASCII码对应的字符 select ...

  3. PostgreSQL学习手册(五) 函数和操作符

    PostgreSQL学习手册(五) 函数和操作符 一.逻辑操作符:    常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符:    下面是Post ...

  4. Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串

    第四章 数学函数.字符和字符串 4.2 常用数学函数 方法分三类:三角函数方法(trigonometric method).指数函数方法(exponent method)和服务方法(service m ...

  5. PostgreSQL的时间/日期函数使用

    PostgreSQL的常用时间函数使用整理如下: 一.获取系统时间函数 1.1 获取当前完整时间 select now(); david=# select now(); now ----------- ...

  6. PHP iconv()函数转字符编码的问题(转)

    PHP iconv()函数转字符编码的问题(转) 载自:http://www.nowamagic.net/php/php_FunctionIconv.php 在php函数库有一个函数:iconv(), ...

  7. C++学习46 getline()函数读入一行字符 一些与输入有关的istream类成员函数

    getline函数的作用是从输入流中读取一行字符,其用法与带3个参数的get函数类似.即    cin.getline(字符数组(或字符指针), 字符个数n, 终止标志字符) [例13.7] 用get ...

  8. [转] PostgreSQL的时间/日期函数使用

    PS:http://blog.csdn.net/love_rongrong/article/details/6712883 字符串模糊比较 日期类型的模糊查询是不能直接进行的,要先转换成字符串然后再查 ...

  9. oracle函数大全-字符处理函

    字符函数——返回字符值 这些函数全都接收的是字符族类型的参数(CHR 除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据库类 ...

随机推荐

  1. Sessions共享技术设计

    概述 分布式session是实现分布式部署的前提, 当前项目由于历史原因未实现分布式session, 但是由于在kubernets中部署多个pod时, 负载均衡的调用链太长, 导致会话不能保持, 所以 ...

  2. Python-----基本操作

    Python是一种简单易学,且功能强大的编程语言.它是面向对象的编程语言. 对象的意义: 对象可以通过一个“.” 的方式来调用这个对象的方法. Python环境安装配置: Python是一种通用的计算 ...

  3. 手机浏览PC版页面出现背景图片显示不全的问题解决方案

    手机浏览PC版页面出现背景图片显示不全 给定宽高的值

  4. selenium常用操作,查找元素,操作Cookie,获取截图,获取窗口信息,切换,执行js代码

    目录: 1. 常用操作 2. 查找元素 3. 操作Cookie 4. 获取截图 5. 获取窗口信息 6. 切换 7. 执行JS代码 简介 selenium.webdriver.remote.webdr ...

  5. Maven学习总结(9)——使用Nexus搭建Maven私服

    1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部 ...

  6. chromeDriver下载地址

    http://chromedriver.storage.googleapis.com/index.html

  7. Tensorflow MNIST浅层神经网络的解释和答复

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51416540 看到之前的一篇博文:深入 ...

  8. 使用git bash向github远程仓库提交代码

    1.登录github,创建仓库. 2.切换到要提交的文件目录下. 3.打开git bash 3.1.初始化仓库 git init 3.2.将本地仓库与远程仓库关联 git remote add ori ...

  9. git游戏杂谈

    git作为一个知名小游戏,在被Linus开发出来后就广受好评,在程序员圈子内迅速传播,以至于现在很多程序员可以一日无饭,却不能一日无git.是什么能让各路程序员如此着迷?今天,让我们走进git,看一看 ...

  10. [bzoj2802][Poi2012]Warehouse Store_贪心_堆

    Warehouse Store bzoj-2802 Poi-2012 题目大意:一家商店的连续n天内,每一天会进货$a_i$个,有且只有一个客人回来买$b_i$个,问至多满足多少人. 注释:$1\le ...