PostgreSQL学习手册

合集下载

PostgreSQL学习手册(数据库维护)

PostgreSQL学习手册(数据库维护)

PostgreSQL学习⼿册(数据库维护)⼀、恢复磁盘空间:在PostgreSQL中,使⽤delete和update语句删除或更新的数据⾏并没有被实际删除,⽽只是在旧版本数据⾏的物理地址上将该⾏的状态置为已删除或已过期。

因此当数据表中的数据变化极为频繁时,那么在⼀段时间之后该表所占⽤的空间将会变得很⼤,然⽽数据量却可能变化不⼤。

要解决该问题,需要定期对数据变化频繁的数据表执⾏VACUUM操作。

VACUUM命令存在两种形式,VACUUM和VACUUM FULL,它们之间的区别见如下表格:⽆VACUUM VACUUM VACUUM FULL删除⼤量数据之后只是将删除数据的状态置为已删除,该空间不能记录被重新使⽤。

如果删除的记录位于表的末端,其所占⽤的空间将会被物理释放并归还操作系统。

如果不是末端数据,该命令会将指定表或索引中被删除数据所占⽤空间重新置为可⽤状态,那么在今后有新数据插⼊时,将优先使⽤该空间,直到所有被重⽤的空间⽤完时,再考虑使⽤新增的磁盘页⾯。

不论被删除的数据是否处于数据表的末端,这些数据所占⽤的空间都将被物理的释放并归还于操作系统。

之后再有新数据插⼊时,将分配新的磁盘页⾯以供使⽤。

执⾏效率由于只是状态置为操作,因此效率较⾼。

在当前版本的PostgreSQL(v9.1)中,该命令会为指定的表或索引重新⽣成⼀个数据⽂件,并将原有⽂件中可⽤的数据导⼊到新⽂件中,之后再删除原来的数据⽂件。

因此在导⼊过程中,要求当前磁盘有更多的空间可⽤于此操作。

由此可见,该命令的执⾏效率相对较低。

被删除的数据所占⽤的物理空间是否被重新规划给操作系统。

不会不会会在执⾏VACUUM命令时,是否可以并发执⾏针对该表的其他操作。

由于该操作是共享锁,因此可以与其他操作并⾏进⾏。

由于该操作需要在指定的表上应⽤排它锁,因此在执⾏该操作期间,任何基于该表的操作都将被挂起,知道该操作完成。

推荐使⽤⽅式在进⾏数据清空是,可以使⽤truncate操作,因为该操作将会物理的清空数据表,并将其所占⽤的空间直接归还于操作系统。

postgresql教程

postgresql教程

postgresql教程PostgreSQL是一个开源的关系数据库管理系统(RDBMS),它的目标是成为最先进的开源数据库,并支持许多标准SQL 功能以及一些不同的高级功能。

本教程将向您介绍PostgreSQL的基本概念和用法。

我们将从安装和设置开始,然后逐步深入了解表、视图、索引、事务和查询等主题。

第一部分:安装和设置在本部分中,我们将向您介绍如何下载、安装和设置PostgreSQL数据库。

我们还将介绍一些基本概念和术语,如数据库、表和列。

1. 安装PostgreSQL:在本节中,我们将向您展示如何从官方网站或其他来源下载并安装PostgreSQL。

2. 设置数据库连接:在本节中,我们将介绍如何设置和配置数据库连接,包括创建用户、设置密码和分配权限等内容。

3. 创建数据库和表:在本节中,我们将介绍如何创建数据库和表,并向您展示一些常用的数据类型和约束。

第二部分:表和视图在本部分中,我们将更详细地介绍表格和视图的概念,并向您展示如何使用它们来存储和查询数据。

1. 创建和修改表格:在本节中,我们将介绍如何创建新的表格,并向您展示如何修改和删除现有的表格。

2. 数据类型和约束:在本节中,我们将深入了解不同的数据类型和约束,并向您展示如何使用它们来保证数据的完整性和一致性。

3. 视图和触发器:在本节中,我们将向您展示如何创建和使用视图和触发器,以及如何利用它们来简化复杂的查询和操作。

第三部分:索引和查询优化在本部分中,我们将介绍索引和查询优化的概念,并向您展示如何使用索引来提高查询性能。

1. 索引的概念和类型:在本节中,我们将介绍不同类型的索引,如B-tree、哈希和GiST索引,并向您展示如何创建和使用它们。

2. 查询优化和性能调优:在本节中,我们将介绍一些常见的查询优化技术,如查询计划、索引优化和统计信息收集等。

3. 复杂查询和连接:在本节中,我们将向您展示如何编写复杂的查询,包括多表连接、子查询和聚合等。

PostgreSQL学习手册

PostgreSQL学习手册

tgreSQL学习手册(五) 函数和操作符阿里云携手开源中国众包平台发布百万悬赏项目»一、逻辑操作符:常用的逻辑操作符有:AND、OR和NOT。

其语义与其它编程语言中的逻辑操作符完全相同。

二、比较操作符:下面是PostgreSQL中提供的比较操作符列表:操作符描述<小于>大于<=小于或等于>=大于或等于=等于!=不等于比较操作符可以用于所有可以比较的数据类型。

所有比较操作符都是双目操作符,且返回boolean类型。

除了比较操作符以外,我们还可以使用BETWEEN语句,如:a BETWEEN x AND y 等效于 a >= x AND a <= ya NOT BETWEEN x AND y 等效于 a < x OR a > y三、数学函数和操作符:下面是PostgreSQL中提供的数学操作符列表:操作符描述例子结果+加 2 + 35-减 2 - 3-1*乘 2 * 36/除 4 / 22%模 5 % 41^幂 2.0 ^ 3.08|/平方根|/ 25.05||/立方根||/ 27.03!阶乘 5 !120!!阶乘!! 5120@绝对值@ -5.05&按位AND91 & 1511|按位OR32 | 335#按位XOR17 # 520~按位NOT~1-2<<按位左移 1 << 416>>按位右移8 >> 22按位操作符只能用于整数类型,而其它的操作符可以用于全部数值数据类型。

按位操作符还可以用于位串类型bit和bit varying,下面是PostgreSQL中提供的数学函数列表,需要说明的是,这些函数中有许多都存在多种形式,区别只是参数类型不同。

除非特别指明,任何特定形式的函数都返回和它的参数相同的数据类型。

函数返回类型描述例子结果abs(x)绝对值abs(-17.4)17.4 cbrt(double)立方根cbrt(27.0)3ceil(double/numeric)不小于参数的最小的整数ceil(-42.8)-42degrees(double) 把弧度转为角度degrees(0.5)28.6478897565412 exp(double/numeric)自然指数exp(1.0) 2.71828182845905 floor(double/numeric)不大于参数的最大整数floor(-42.8)-43ln(double/numeric)自然对数ln(2.0)0.693147180559945 log(double/numeric)10为底的对数log(100.0)2log(b numeric,x numeric)numeric指定底数的对数log(2.0, 64.0) 6.0000000000mod(y, x)取余数mod(9,4)1pi() double"π"常量pi() 3.14159265358979 power(a double, b double)double求a的b次幂power(9.0, 3.0)729power(a numeric, bnumeric)numeric求a的b次幂power(9.0, 3.0)729radians(double)double把角度转为弧度radians(45.0)0.785398163397448random()double 0.0到1.0之间的随机数值random()round(double/numeric)圆整为最接近的整数round(42.4)42round(v numeric, s int)numeric圆整为s位小数数字round(42.438,2)42.44sign(double/numeric)参数的符号(-1,0,+1) sign(-8.4)-1sqrt(double/numeric)平方根sqrt(2.0) 1.4142135623731 trunc(double/numeric)截断(向零靠近)trunc(42.8)42trunc(v numeric, s int)numeric 截断为s小数位置的数字trunc(42.438,2)42.43三角函数列表:函数描述acos(x)反余弦asin(x)反正弦atan(x)反正切atan2(x, y)正切y/x 的反函数cos(x)余弦cot(x)余切sin(x)正弦tan(x)正切四、字符串函数和操作符:下面是PostgreSQL中提供的字符串操作符列表:函数返回类型描述例子结果string || string text字串连接'Post' || 'greSQL'PostgreSQL bit_length(string)int字串里二进制位的个数bit_length('jose')32char_length(string)int字串中的字符个数char_length('jose')4convert(string using conversion_name)text使用指定的转换名字改变编码。

PostgreSQL数据库学习手册之libpq【范本模板】

PostgreSQL数据库学习手册之libpq【范本模板】

PostgreSQL数据库学习手册之libpq - C 库——介绍(转)[@more@] Chapter 1. libpq - C 库Table of Contents1。

1. 介绍1。

2. 数据库联接函数1.3. 命令执行函数1.3。

1. 主过程1。

3.2. 为包含在 SQL 查询中逃逸字串1.3.3. 逃逸包含在 SQL 查询中的二进制字串1.3.4。

检索 SELECT 的结果信息1.3.5. 检索 SELECT 结果数值1。

3.6. 检索非—SELECT 结果信息1.4。

异步查询处理1.5. 捷径接口1。

6。

异步通知1。

7。

与 COPY 命令相关的函数1.8。

libpq 跟踪函数1。

9。

libpq 控制函数1.10. 环境变量1。

11. 文件1。

12. 线程特性1。

13。

制作 Libpq 程序1。

14。

例子程序1.1. 介绍libpq 是 PostgreSQL的 C 应用程序员的接口. libpq 是一套允许客户程序向 PostgreSQL 后端服务进程发送查询并且获得查询返回的库过程. libpq 同时也是其他几个 PostgreSQL 应用接口下面的引擎,包括 libpq++ (C++), libpgtcl(Tcl),Perl,和 ecpg.所以如果你使用这些软件包, libpq某些方面的特性会对你非常重要.本节末尾有三个小程序显示如何利用 libpq书写程序.在下面目录里面有几个完整的 libpq 应用的例子:src/test/examplessrc/bin/psql使用 libpq 的前端程序必须包括头文件 libpq-fe。

h 并且必须与 libpq 库链接.PostgreSQL数据库学习手册之libpq—C库——-数据库联接函数(转)[@more@]1。

2。

数据库联接函数下面的过程处理与 PostgreSQL 后端服务器联接的事情.一个应用程序一次可以与多个后端建立联接. (这么做的原因之一是访问多于一个数据库.) 每个连接都是用一个从PQconnectdb()或PQsetdbLogin() 获得的PGconn对象表示.注意,这些函数总是返回一个非空的对象指针, 除非存储器少得连个PGconn对象都分配不出来.在把查询发送给联接对象之前,可以调用PQstatus 函数来检查一下联接是否成功.*PQconnectdb 与后端数据库服务器建立一个新的联接.PGconn *PQconnectdb(const char *conninfo)这个过程用从一个字符串 conninfo 来的参数与数据库打开一个新的联接.与下面的PQsetdbLogin()不同的是, 我们可以不必更换函数签名(名字)就可以扩展参数集, 所以我们建议应用程序中使用这个函数或者是它的非阻塞的相似函数 PQconnectStart 和 PQconnectPoll.传入的参数可以为空,表明使用所有缺省的参数,或者可以包含一个或更多个用空白间隔的参数设置.每个参数以关键字 = 数值的形式设置. (要写一个空值或者一个包含空白的值,你可以用一对单引号包围它们,例如, keyword = 'a value' .数值内部的单引号和反斜扛必须用一个反斜扛逃逸,也就是说,'或.) 等号周围的空白是可选的.目前可识别的参数键字是:host要联接的主机(host ).如果主机名以斜扛开头,则它声明使用 Unix 域套接字通讯而不是 TCP/IP 通讯; 该值就是套接字文件所存储的目录.缺省时是与位于 /tmp 里面的 Unix—域套接字联接.hostaddr与之联接的主机的 IP 地址。

PostgreSQL学习手册(目录)

PostgreSQL学习手册(目录)

PostgreSQL学习⼿册(⽬录)事实上之前有很长⼀段时间都在纠结是否有必要好好学习它,但是始终都没有⼀个很好的理由说服⾃⼰。

甚⾄是直到这个项⽬最终决定选⽤PostgreSQL时,我都没有真正意识到学习它的价值,当时只是想反正和其它数据库差不多,能⽤就⾏了。

然⽽有⼀天晚上,⾃⼰也不知道为什么,躺在床上开始回想整个项⽬的实施过程,想着想着就想到了数据库选型这⼀问题上了。

事情是这样的,最初客户将他们的产品⽬标定位为主打中型规模,同时也要在⼀定程度上⽀持⼩型规模。

鉴于此,我们为他们提供的⽅案是中型规模的数据库选⽤Oracle,⼩型规模的选定MySQL,在经过多轮商谈之后这个⽅案通过了。

然⽽随着项⽬的深⼊,客户突然有⼀天提出,由于成本和市场推⼴等问题,该产品的数据库部分需要进⾏⼀定的调整,调整的结果是中型规模可以同时⽀持Oracle和MySQL,⽽⼩型规模则要同时⽀持MySQL和PostgreSQL,原因⾮常简单,PostgreSQL是纯免费的数据库产品。

听到这个消息之后,我当时就⾮常恼⽕,因为当初为了保证运⾏时效率(国标),我们的数据库访问层是完全基于数据库供应商提供的原始C接⼝开发的,甚⾄都没有考虑ODBC提供的原始C接⼝,以防在转换中失去效率,或是ODBC本⾝为了强调通⽤性⽽不得不牺牲某些数据库的优化特征,如批量插⼊、批量读取等。

最后的结果显⽽易见,客户就是上帝,上帝的意见就是真理,这样我们就不得不基于现有的访问层接⼝⼜重新开发了⼀套⽀持PostgreSQL原⽣C接⼝的驱动。

然⽽随着对PostgreSQL的不断学习,对它的了解也在逐步加深,后来发现它的功能还是⾮常强⼤的,特别是对GIS空间数据的⽀持就更加的吸引我了。

于是就在脑⼦⾥为MySQL和PostgreSQL做了⼀个简单的对⽐和分析,最后得出⼀个结论,相⽐MySQL,PostgreSQL并没有什么刚性的缺点,但是它的纯免费特征确实是MySQL⽆法⽐拟的。

PostgreSQL新手入门教程

PostgreSQL新手入门教程

PostgreSQL新⼿⼊门教程⾃从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的⾸选。

本⽂介绍PostgreSQL的安装和基本⽤法,供初次使⽤者上⼿。

以下内容基于Debian操作系统,其他操作系统实在没有精⼒兼顾,但是⼤部分内容应该普遍适⽤。

安装1、⾸先,安装PostgreSQL客户端。

sudo apt-get install postgresql-client然后,安装PostgreSQL服务器。

sudo apt-get install postgresql2、正常情况下,安装完成后,PostgreSQL服务器会⾃动在本机的5432端⼝开启。

如果还想安装图形管理界⾯,可以运⾏下⾯命令,但是本⽂不涉及这⽅⾯内容。

sudo apt-get install pgadmin3添加新⽤户和新数据库1、初次安装后,默认⽣成⼀个名为postgres的数据库和⼀个名为postgres的数据库⽤户。

这⾥需要注意的是,同时还⽣成了⼀个名为postgres的Linux系统⽤户。

下⾯,我们使⽤postgres⽤户,来⽣成其他⽤户和新数据库。

好⼏种⽅法可以达到这个⽬的,这⾥介绍两种。

2、第⼀种⽅法,使⽤PostgreSQL控制台。

⾸先,新建⼀个Linux新⽤户,可以取你想要的名字,这⾥为dbuser。

sudo adduser dbuser然后,切换到postgres⽤户。

sudo su - postgres下⼀步,使⽤psql命令登录PostgreSQL控制台。

psql这时相当于系统⽤户postgres以同名数据库⽤户的⾝份,登录数据库,这是不⽤输⼊密码的。

如果⼀切正常,系统提⽰符会变为”postgres=#”,表⽰这时已经进⼊了数据库控制台。

以下的命令都在控制台内完成。

第⼀件事是使⽤\password命令,为postgres⽤户设置⼀个密码。

\password postgres第⼆件事是创建数据库⽤户dbuser(刚才创建的是Linux系统⽤户),并设置密码。

PostgreSQL基础教学与应用

PostgreSQL基础教学与应用

PostgreSQL基础教学与应用第一章:PostgreSQL简介1.1 PostgreSQL的定义和特点1.2 PostgreSQL在数据库领域的应用价值第二章:PostgreSQL的安装和配置2.1 安装PostgreSQL2.2 配置PostgreSQL第三章:PostgreSQL数据库的基本操作3.1 连接数据库3.2 创建数据库3.3 创建表3.4 插入数据3.5 查询数据3.6 更新数据3.7 删除数据第四章:PostgreSQL数据库的高级操作4.1 约束4.2 索引4.3 视图4.4 存储过程4.5 触发器第五章:PostgreSQL的高可用性5.1 水平扩展5.2 热备份5.3 流复制第六章:PostgreSQL与其他数据库的比较6.1 PostgreSQL与MySQL的比较6.2 PostgreSQL与Oracle的比较第七章:PostgreSQL的应用案例分析7.1 PostgreSQL在电子商务领域的应用7.2 PostgreSQL在大数据处理中的应用7.3 PostgreSQL在地理信息系统中的应用第八章:PostgreSQL的未来发展趋势8.1 PostgreSQL的发展历程8.2 PostgreSQL的未来发展方向第一章:PostgreSQL简介PostgreSQL是一个开源的关系型数据库管理系统,其具有可扩展性、稳定性和安全性等特点。

它被广泛应用于企业级数据库管理和大规模数据处理领域,成为了目前世界上发展最快的开源数据库之一。

第二章:PostgreSQL的安装和配置2.1 安装PostgreSQL要安装PostgreSQL,可以从官方网站上下载最新版本的安装包。

安装过程中需按照提示进行设置和配置,如选择安装路径、创建管理员用户等。

2.2 配置PostgreSQL配置文件中包含了数据库的参数设置,可以根据需求进行修改,如修改监听地址、设置最大连接数等。

第三章:PostgreSQL数据库的基本操作3.1 连接数据库使用命令行工具或可视化工具连接数据库,输入用户名和密码即可进行连接。

PostgreSQL数据库基础教程

PostgreSQL数据库基础教程

PostgreSQL数据库基础教程一、数据库基础知识1.1 数据库的定义和作用数据库是指存储和组织数据的集合,通过数据库可以方便地对数据进行管理和查询。

数据库的作用包括存储数据、保证数据的一致性和完整性、提供数据的安全性和可靠性等。

1.2 关系型数据库和非关系型数据库关系型数据库是指使用关系模型将数据组织成表格的数据库,而非关系型数据库则不局限于表格模型。

PostgreSQL是一种开源的关系型数据库管理系统,具有丰富的功能和灵活性。

1.3 PostgreSQL的特点和优势PostgreSQL是一个功能强大、可扩展性强的数据库管理系统,具有以下特点:- 可靠性:支持事务管理和崩溃恢复机制,保证数据的一致性和可靠性。

- 可移植性:支持跨多个操作系统的安装和使用。

- 扩展性:支持插件式架构,允许用户根据需求添加自定义的功能。

- 多版本并发控制:采用MVCC(多版本并发控制)机制,提供高并发性能。

- 开放性:作为开源软件,PostgreSQL的源代码可以公开查看和修改。

二、安装和配置PostgreSQL2.1 下载和安装PostgreSQL首先,在PostgreSQL官网上下载适合操作系统的安装包,并按照安装向导进行安装。

2.2 配置数据库集群安装完成后,需要进行数据库集群的配置。

可以通过编辑配置文件来为数据库设置参数,如监听地址、端口号、连接数限制等。

2.3 创建用户和数据库PostgreSQL默认使用操作系统的用户名作为数据库的用户名,可以通过以下命令创建一个新的用户,并为其分配权限。

三、数据库操作3.1 登录和退出数据库在命令行中输入`psql -U 用户名 -d 数据库名`可以登录到指定的数据库。

3.2 数据表的创建和删除使用`CREATE TABLE`命令可以创建新的数据表,使用`DROP TABLE`命令可以删除数据表。

3.3 数据表的数据插入和查询使用`INSERT INTO`命令可以向数据表中插入新的数据,使用`SELECT`命令可以查询数据并返回结果集。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

tgreSQL学习手册(五) 函数和操作符阿里云携手开源中国众包平台发布百万悬赏项目»一、逻辑操作符:常用的逻辑操作符有:AND、OR和NOT。

其语义与其它编程语言中的逻辑操作符完全相同。

二、比较操作符:下面是PostgreSQL中提供的比较操作符列表:操作符描述<小于>大于<=小于或等于>=大于或等于=等于!=不等于比较操作符可以用于所有可以比较的数据类型。

所有比较操作符都是双目操作符,且返回boolean类型。

除了比较操作符以外,我们还可以使用BETWEEN语句,如:a BETWEEN x AND y 等效于 a >= x AND a <= ya NOT BETWEEN x AND y 等效于 a < x OR a > y三、数学函数和操作符:下面是PostgreSQL中提供的数学操作符列表:操作符描述例子结果+加 2 + 35-减 2 - 3-1*乘 2 * 36/除 4 / 22%模 5 % 41^幂 2.0 ^ 3.08|/平方根|/ 25.05||/立方根||/ 27.03!阶乘 5 !120!!阶乘!! 5120@绝对值@ -5.05&按位AND91 & 1511|按位OR32 | 335#按位XOR17 # 520~按位NOT~1-2<<按位左移 1 << 416>>按位右移8 >> 22按位操作符只能用于整数类型,而其它的操作符可以用于全部数值数据类型。

按位操作符还可以用于位串类型bit和bit varying,下面是PostgreSQL中提供的数学函数列表,需要说明的是,这些函数中有许多都存在多种形式,区别只是参数类型不同。

除非特别指明,任何特定形式的函数都返回和它的参数相同的数据类型。

函数返回类型描述例子结果abs(x)绝对值abs(-17.4)17.4 cbrt(double)立方根cbrt(27.0)3ceil(double/numeric)不小于参数的最小的整数ceil(-42.8)-42degrees(double) 把弧度转为角度degrees(0.5)28.6478897565412 exp(double/numeric)自然指数exp(1.0) 2.71828182845905 floor(double/numeric)不大于参数的最大整数floor(-42.8)-43ln(double/numeric)自然对数ln(2.0)0.693147180559945 log(double/numeric)10为底的对数log(100.0)2log(b numeric,x numeric)numeric指定底数的对数log(2.0, 64.0) 6.0000000000mod(y, x)取余数mod(9,4)1pi() double"π"常量pi() 3.14159265358979 power(a double, b double)double求a的b次幂power(9.0, 3.0)729power(a numeric, bnumeric)numeric求a的b次幂power(9.0, 3.0)729radians(double)double把角度转为弧度radians(45.0)0.785398163397448random()double 0.0到1.0之间的随机数值random()round(double/numeric)圆整为最接近的整数round(42.4)42round(v numeric, s int)numeric圆整为s位小数数字round(42.438,2)42.44sign(double/numeric)参数的符号(-1,0,+1) sign(-8.4)-1sqrt(double/numeric)平方根sqrt(2.0) 1.4142135623731 trunc(double/numeric)截断(向零靠近)trunc(42.8)42trunc(v numeric, s int)numeric 截断为s小数位置的数字trunc(42.438,2)42.43三角函数列表:函数描述acos(x)反余弦asin(x)反正弦atan(x)反正切atan2(x, y)正切y/x 的反函数cos(x)余弦cot(x)余切sin(x)正弦tan(x)正切四、字符串函数和操作符:下面是PostgreSQL中提供的字符串操作符列表:函数返回类型描述例子结果string || string text字串连接'Post' || 'greSQL'PostgreSQL bit_length(string)int字串里二进制位的个数bit_length('jose')32char_length(string)int字串中的字符个数char_length('jose')4convert(string using conversion_name)text使用指定的转换名字改变编码。

convert('PostgreSQL' usingiso_8859_1_to_utf8)'PostgreSQL'lower(string)text把字串转化为小写lower('TOM')tom octet_length(string)int字串中的字节数octet_length('jose')4overlay(string placing string from int [for int])text替换子字串overlay('Txxxxas' placing 'hom'from 2 for 4)Thomasposition(substring instring)int指定的子字串的位置position('om' in 'Thomas')3 substring(string [fromint] [for int])text抽取子字串substring('Thomas' from 2 for 3)homsubstring(string from pattern)text抽取匹配POSIX 正则表达式的子字串substring('Thomas' from '...$')massubstring(string from pattern for escape)text抽取匹配SQL正则表达式的子字串substring('Thomas' from'%#"o_a#"_' for '#')omatrim([leading | trailing |both] [characters] from string)text从字串string的开头/结尾/两边/ 删除只包含characters(缺省是一个空白)的最长的字串trim(both 'x' from 'xTomxx')Tomupper(string)text把字串转化为大写。

upper('tom')TOM ascii(text)int参数第一个字符的ASCII码ascii('x')120btrim(string text [, characters text])text从string开头和结尾删除只包含在characters里(缺省是空白)的字符的最长字串btrim('xyxtrimyyx','xy')trimchr(int)text给出ASCII码的字符chr(65)Aconvert(string text, [src_encoding name,] text把字串转换为dest_encodingconvert( 'text_in_utf8', 'UTF8','LATIN1')以ISO 8859-1编码表示的dest_encoding name)text_in_utf8initcap(text)text 把每个单词的第一个子母转为大写,其它的保留小写。

单词是一系列字母数字组成的字符,用非字母数字分隔。

initcap('hi thomas')Hi Thomaslength(string text)int string中字符的数目length('jose')4lpad(string text, length int [, fill text])text通过填充字符fill(缺省时为空白),把string填充为长度length。

如果string已经比length长则将其截断(在右边)。

lpad('hi', 5, 'xy')xyxhiltrim(string text [, characters text])text从字串string的开头删除只包含characters(缺省是一个空白)的最长的字串。

ltrim('zzzytrim','xyz')trimmd5(string text)text 计算给出string的MD5散列,以十六进制返回结果。

md5('abc')repeat(string text,number int)text重复string number次。

repeat('Pg', 4)PgPgPgPgreplace(string text, from text, to text)text把字串string里出现地所有子字串from替换成子字串to。

replace('abcdefabcdef', 'cd', 'XX')abXXefabXXefrpad(string text, length int [, fill text])text通过填充字符fill(缺省时为空白),把string填充为长度length。

如果string已经比length长则将其截断。

rpad('hi', 5, 'xy')hixyxrtrim(string text [, character text])text从字串string的结尾删除只包含character(缺省是个空白)的最长的字rtrim('trimxxxx','x')trimsplit_part(string text, delimiter text, field int)text根据delimiter分隔string返回生成的第field个子字串(1 Base)。

相关文档
最新文档