Chinaunix首页 | 论坛 | 博客
  • 博客访问: 90792671
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-07 22:51:43

 




第五章 函数


▓ SQL 函数

▓ 数学函数

▓ 字符串函数

▓ 日期/时间函数

▓ 格式化函数

▓ 几何函数

▓ IP V4 函数



描述可用的 Postgres 内置函数。

许多数据类型可以用函数转换成其他相关类型,另外,有一些类型相关的函数。一些函数只能通过操作符使用,文档中也可能只有操作符描述。




▲ SQL 函数

“SQL 函数”是由SQL92标准定义的构件,它们有函数样的语法但是不能做为简单函数来实现。











▲ 字符串函数

SQL92定义了使用指明语法的字符串函数,这类函数中有一些是使用其他Postgres 函数实现的。为SQL92 支持的字符串类型是char,varchar,和text。




许多字符串函数可用于 text,varchar(),和 char() 类型。另一些在内部使用,用于实现上面列出的 SQL92 字符串函数。




大多数显式定义为使用text类型的函数也可用于char( ) 和 varchar( ) 参数。



▲ 时间/日期函数

日期/时间函数提供了一整套处理各种日期/时间类型的有效工具。





对于 date_part 和 date_trunc 函数而言, 参数可以是‘year’,‘month’,‘day’,‘hour’,‘minute’,和 ‘second’,还可以是更特殊的单位‘decade’,‘century’,‘millenium’,‘millisecond’,和‘microsecond’。 date_part 允许使用‘dow’返回星期日数(date of week),用‘week’返回ISO定义的一年中的星期,和用‘epoch’返回自1970(对于timestamp)以来的秒数或‘epoch’返回总共流逝的秒数(对于 interval 而言)。


▲ 格式化函数

Postgres 格式化函数提供一套有效的工具用于把各种数据类型(日期/时间,int,float,numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成原始的数据类型。

=============================================
注意:所有格式化函数的第二个参数是用于转换的模板。
==============================================









所有模板都都允许使用前缀和后缀修改器。模板里总是允许使用修改器。前缀‘FX’只是一个全局修改器。





■ 用法须知:

● 如果没有使用 FX 选项,to_timestamp 和 to_date 忽略空白。FX 必须做为模板里的第一个条目声明。

● 反斜杠(“”)必须用做双反斜杠(“\”),例如 ‘\HH\MI\SS’。

● 双引号(‘ ” ’)之间的字串被忽略并且不被分析。如果你想向输出写双引号,你必须在双引号前面放置一个双反斜杠(‘\’),例如‘\“YYYY Month\”’。

●to_char 支持不带前导双引号(‘ ”’)的文本,但是在双引号之间的任何字串会被迅速处理并且还保证不会被当作模板关键字解释(例如:‘“Hello Year: YYYY”’)。





■ 用法须知:


● 使用‘SG’,‘PL’或‘MI’的带符号字并不附着在数字上面;例如,to_char(-12, ‘S9999’) 生成 ‘-12’,而 to_char(-12, ‘MI9999’) 生成 ‘- 12’。Oracle 里的实现不允许在 9 前面使用 MI,而是要求 9 在 MI 前面。

● PL,SG,和 TH 是Postgres 扩展。

● 9 表明一个与在 9 字串里面的一样的数字位数。如果没有可用的数字,那么使用一个空白(空格)。

● TH 不转换小于零的值,也不转换小数。TH 是一个Postgres 扩展。

● V 方便地把输入值乘以 10^n,这里 n 是跟在 V 后面的数字。to_char 不支持把 V 与一个小数点绑在一起使用(例如 “99.9V99”是不允许的)。


表 5-11 to_char 例子




▲ 几何函数

几何类型 point,box,lseg,line,path,polygon 和 circle 拥有很多的内置支持函数。











▲ IP V4 函数





To be continued........



出处:南方Linux
阅读(1004) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~