PostgreSQL函数和运算符(一) |
您所在的位置:网站首页 › pgsql除法 › PostgreSQL函数和运算符(一) |
PostgreSQL函数和运算符(一)
分类: PostgreSQL2011-03-17 09:14 3404人阅读 评论(1) 收藏 举报
postgresqlstringwindowsencoding正则表达式hex
目录(?)[+] PostgreSQL为内置数据类型提供了大量的函数和运算符。用户也可以定义自己的函数(参考第11章)。在psql中执行命令/df和/do可以分别列出可用的函数和运算符的列表。 本章中的大部分函数和运算符都是SQL标准中定义的,也有一部分是PostgreSQL自己扩展的。SQL标准定义了一些有特殊语法的字符串函数,这些函数使用特殊关键字而不是逗号来分隔参数,例如from和for。 7.1 逻辑运算符常用的逻辑运算符有: AND OR NOT SQL 使用三值的布尔逻辑,空值代表"unknown"。 下面逻辑运算符的真值表: a b a AND b a OR b TRUE TRUE TRUE TRUE TRUE FALSE FALSE TRUE TRUE NULL NULL TRUE FALSE FALSE FALSE FALSE FALSE NULL FALSE NULL NULL NULL NULL NULL a NOT a
TRUE FALSE
FALSE TRUE
NULL NULL
运算符 AND 和 OR 满足交换律。 7.2 比较运算符 表 7-1 列出了所有的比较运算符。 表7-1 比较运算符 运算符 描述 大于 = 大于或等于 = 等于 或 != 不等于 注意: != 运算符在进行此法分析时会被自动转换成 。所以不可能让!= 和 实现不同的功能。 比较运算符可以用于所有可以进行比较的操作的数据类型。所有比较运算符都是二元运算符,返回 boolean类型的结果,类似“1 < 2 < 3” 这样的表达式是非法的。 除了比较运算符,还可以使用 BETWEEN谓词。 a BETWEEN x AND y 等价于 a >= x AND a 2 2
按位运算运算符只能用于整数类型的数据,而其它的运算符可以用于所有的数值类型的数据。按位运算的运算符还可以用于位串类型 bit 和 bit varying,如表7-3所示。 表7-3列出了所有的数学函数。在该表中dp表示double precision,除非特别指明,函数的返回值的数据类型和它的参数的数据类型相同。表7-4列出了这些数学函数的实例。处理 double precision 数据的函数大多数是在操作系统的C函数库的基础上实现的。 表7-3. 数学函数 函数 返回值类型 描述 abs(x) 和x类型相同 绝对值 cbrt(dp) Dp 立方根 ceil(dp 或者 numeric) 与输入相同 不小于参数的最小的整数 ceiling(dp or numeric) 与输入相同 不小于参数的最小整数(ceil 的别名) degrees(dp) dp 把弧度转为角度 exp(dp 或 numeric) 与输入相同 自然指数 floor(dp 或 numeric) 与输入相同 不大于参数的最大整数 ln(dp 或 numeric) 与输入相同 自然对数 log(dp 或 numeric) 与输入相同 10 为底的对数 log(b numeric, x numeric) numeric 指定底数的对数 mod(y, x) 和参数类型相同 除法 y/x 的余数(模) pi() Dp "π" 常量 power(a dp, b dp) Dp 求a的 b 次幂 power(a numeric, b numeric) numeric 求a的 b 次幂 radians(dp) Dp 把角度转为弧度 random() Dp 0.0 到 1.0 之间的随机数值 round(dp 或者 numeric) 与输入相同 约为最接近参数的整数 round(v numeric, s int) Numeric 约为最接近参数的有s位小数的数字 setseed(dp) Int 为以后被调用的 random()函数设置种子 sign(dp 或者 numeric) 和输入相同 参数的符号(-1, 0, +1) sqrt(dp 或者 numeric) 和输入相同 平方根 trunc(dp 或者 numeric) 和输入相同 去掉参数的小数位 trunc(v numeric, s int) Numeric 将参数截断为含有 s位小数的数字 width_bucket(op numeric, b1 numeric, b2 numeric, count in) Int 将b1和b2平分成count个取值区间,取值区间的编号从1开始。
如果b1>b2,则编号为0的取值区间表示的范围是(b1,正无穷大),编号为count+1的取值区间表示的范围是(负无穷大,b2)。
如果b1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |