金仓数据库 KingbaseES参考手册-(8.函数(三))

打印 上一主题 下一主题

主题 893|帖子 893|积分 2679

8.51. BIT_AND

   用法:
   
  1. bit_and(expression)
复制代码
   功能:
     聚集函数,盘算所有非空值按位与。如果没有非空值传入,返回空值。
    例子:
   
  1. CREATE TABLE tinyint_fun(a tinyint);
  2. INSERT INTO tinyint_fun values('55');
  3. INSERT INTO tinyint_fun values('100');
  4. SELECT bit_and(a) from tinyint_fun;
复制代码
   8.52. BIT_LENGTH

   用法:
   
  1. bit_length(string)
复制代码
   功能:
     返回 string 中的位数
    例子:
   
  1. SELECT bit_length('jose');
复制代码
   8.53. BIT_OR

   用法:
   
  1. bit_or(expression)
复制代码
   功能:
     聚集函数,对输入的非空值按位或运算,如果没有输入非空值,则返回空值。
    例子:
   
  1. CREATE TABLE tinyint_fun(a tinyint);
  2. INSERT INTO tinyint_fun values('55');
  3. INSERT INTO tinyint_fun values('100');
  4. SELECT bit_or(a) from tinyint_fun;
复制代码
   8.54. BITAND

   用法:
   
  1. bitand(expr1, expr2)
复制代码
   功能:
     该BITAND函数将其输入和输出视为位向量;输出是AND输入的按位。expr1和的类型expr2是NUMBER,结果是类型NUMBER。如果任一参数BITAND为NULL,则结果为NULL。参数必须在 -(2 (n-1) ) .. ((2 (n-1) )-1) 范围内。如果参数超出此范围,则结果未定义。
   结果分几个步调盘算。首先,每个参数 A 都被替换为 value SIGN(A)*FLOOR(ABS(A))。这种转换具有将每个参数截断为零的结果。接下来,每个参数 A(现在必须是整数值)被转换为 n 位二进制补码二进制整数值。使用按位运算组合这两个位值AND。末了,将得到的 n 位二进制补码值转换回NUMBER.
   BITAND 函数的注意事项
   

  • BITAND定义的当前实现n= 128。
  • PL/SQL 支持重载,BITAND此中输入和结果的类型都为 all BINARY_INTEGER,并且n= 32。
    例子:
     以下示例AND对数字 6(二进制 1,1,0)和 3(二进制 0,1,1)实验操纵:
      
      SELECT BITAND(6,3);
    8.55. BLOB_EXPORT

   用法:
     blob_export(blob ,string )
    功能:
     将 blob 大对象的内容导出到磁盘文件。
    例子:
     将test_blob表的lob列导入到blob_out.data文件中。
  
  1. SELECT blob_export(lob, 'blob_out.data') FROM test_blob;
复制代码
   8.56. BLOB_IMPORT

   用法:
     blob_import(string )
    功能:
     将指定文件 blob 大对象的情势导入到数据库。
    例子:
     将blob_out.data文件导入到test_blob表的lob列中。
  
  1. INSERT INTO test_blob VALUES (2, blob_import('./blob.data'));
复制代码
   8.57. BOOL_AND

   用法:
     bool_and(expression)
    功能:
     聚集函数,求逻辑与,如果所有输入值为真则结果为真,否则为假。
    例子:
     对表 table 的列boolcol所有值求逻辑与。
  
  1. SELECT bool_and(boolcol) FROM table;
复制代码
   8.58. BOOL_OR

   用法:
     bool_or(expression)
    功能:
     聚集函数,求逻辑或,如果有输入值为真则结果为真,否则为假。
    例子:
     对表 table 的列boolcol所有值求逻辑或。
  
  1. SELECT bool_or(boolcol) FROM table;
复制代码
   8.59. BOUND_BOX

   用法:
     bound_box(box, box)
    功能:
     几何函数,方框到外包框。
    例子:
     对表 table 的列boolcol所有值求逻辑或。
  
  1. SELECT bound_box(box '((0,0),(1,1))', box '((3,3),(4,4))');
复制代码
   8.60. BOX

   用法:
   
  1. box(circle)
  2. box(point)
  3. box(point, point)
  4. box(polygon)
复制代码
   功能:
     几何函数,根据参数差异。
      

  • circle 圆到方框
  • point 点到空方框
  • point,point 点到方框
  • polygon 多边形到方框
       例子:
   
  1. SELECT box(circle '((0,0),2.0)');
  2. SELECT box(point '(0,0)');
  3. SELECT box(point '(0,0)', point '(1,1)');
  4. SELECT box(polygon '((0,0),(1,1),(2,0))');
复制代码
   8.61. BTRIM

   用法:
   
  1. btrim(string text [,characters text])
  2. btrim(string bytea, bytes bytea)
复制代码
   功能:
     

  • 字符串函数,从 string 的开头或结尾删除最长的只包含 characters (默认是一个空格)的串。
  • 二进制串函数,从 string 的开头或结尾删除值出现在 bytes 中字节组成的最长串。
    例子:
     处置惩罚二进制串
  
  1. SELECT btrim('\000trim\001'::bytea, '\000\001'::bytea);
复制代码
  处置惩罚字符串
  
  1. SELECT btrim('xyxtrimyyx', 'xyz');
复制代码
   8.62. CARDINALITY

   用法:
     cardinality(anyarray)
    功能:
     数组函数,返回数组中元素总数,如果数组为空则返回0。
    例子:
   
  1. SELECT cardinality( ARRAY[[1,2], [3,4]]);
复制代码
   8.63. CBRT

   用法:
     cbrt(dp)
    功能:
     数学函数,返回 dp 的立方根。
    例子:
     求 27 的立方根
  
  1. SELECT cbrt(27.0);
复制代码
   8.64. CEIL

   用法:
   
  1. ceil(n)
复制代码
   功能:
     数学函数 ,CEIL返回大于或等于n的最小整数。该数字n始终可以写为整数k和正分数的差f,使得 0 <= f< 1 和n= k- f。CEIL的值是整数k。因此,当且仅当的值恰好是一个整数 时,它的值CEIL就是它本身。此函数将任何数值数据类型或任何可以隐式转换为数值数据类型的非数值数据类型作为参数。该函数返回与参数的数值数据类型相同的数据类型。
    例子:
   
  1. SELECT ceil(-42.8);
复制代码
   8.65. CEILING

   用法:
   
  1. ceiling({dp|numeric})
  2. ceiling()
复制代码
   功能:
     

  • 数学函数 ,CEIL返回大于或等于dp的最小整数。 ceil 函数的别名。
  • json函数 ,返回大于或等于 SQL/JSON 数字的最接近整数。
    例子:
   
  1. SELECT ceiling(-95.3);
  2. SELECT jsonb_path_query('[0, 1, -2, -3.4, 5.6]', '$[*].ceiling()');
复制代码
   8.66. CENTER

   用法:
   
  1. center(object)
复制代码
   功能:
     几何函数 ,返回图形 object 的中心点。
    例子:
   
  1. SELECT center(box '((0,0),(1,2))');
复制代码
   8.67. CHAR_LENGTH

   用法:
   
  1. char_length(string)
复制代码
   功能:
     字符串函数 ,返回字符串 string 的字符数。
    例子:
   
  1. SELECT char_length('hello');
复制代码
   8.68. CHARACTER_LENGTH

   用法:
   
  1. character_length(string)
复制代码
   功能:
     字符串函数 ,返回字符串 string 的字符数,同 char_length 。
    例子:
   
  1. SELECT character_length('hello');
复制代码
   8.69. CHARINDEX

   用法:
   
  1. charindex(sub_str varchar, src_str varchar[, start_location int default 1])
复制代码
   功能:
     字符串函数 ,返回 sub_str 在 src_str 中第一次出现的位置,从 start_location 位置开始查找,start_location 小于等于 0 大概为空时默认为 1。不存在则返回 0。
    例子:
   
  1. SELECT charindex('bar', 'foobarbar', 5);
复制代码
   8.70. CHR

   用法:
   
  1. chr(int)
复制代码
   功能:
     字符串函数,返回给定代码的字符。对于 UTF8 该参数被视作一个 Unicode 代码点。对于其他多字节编码该参数必须指定一个 ASCII 字符。 NULL (0)字符不被允许, 因为文本数据类型不能 存储这种字节。
    例子:
   
  1. SELECT chr(65);
复制代码
   8.71. CIRCLE

   用法:
   
  1. circle(box)
  2. circle(point ,double precision)
  3. circle(polygon)
复制代码
   功能:
     几何类型转换函数,将输入图形转换到圆形。
    例子:
     方框到圆
  
  1. SELECT circle(box '((0,0),(1,1))');
复制代码
   中心和半径到圆
   
  1. SELECT circle(point'(0,0)', 2.0);
复制代码
   多边形到圆
   
  1. SELECT circle(polygon '((0,0),(1,1),(2,0))');
复制代码
   8.72. CLOB_EXPORT

   用法:
   
  1. clob_export(clob, string, encode)
复制代码
   功能:
     将 clob 大对象的内容导出到文件。 string 指定导出的文件路径,encode 指定编码格式,可以为空。
    例子:
   
  1. SELECT clob_export (lob, 'clob_asc_out.data','sqlascii') FROM test_clob;
复制代码
   8.73. CLOB_IMPORT

   用法:
   
  1. clob_import(string, encode)
复制代码
   功能:
     将 clob 大对象的内容从文件导入到数据库。 string 指定导出的文件路径,encode 指定编码格式,可以为空。
    例子:
   
  1. SELECT clob_import ('clob_asc_out.data','sqlascii') FROM dual;
复制代码
   8.74. CLOCK_TIMESTAMP

   用法:
   
  1. clock_timestamp()
复制代码
   功能:
     日期/时间函数,返回当前日期和时间(在语句实验期间变化)。
    例子:
   
  1. SELECT clock_timestamp()
  2. ;
复制代码
   8.75. COALESCE

   用法:
   
  1. COALESCE(value [, ...])
复制代码
   功能:
     COALESCE 函数返回它的第一个非空参数的值。当且仅当所有参数都为空时才会返回空。它常用于在为显示目的检索数据时用缺省值替换空值。
   如果description不为空,这将会返回它的值,否则如果short_description非空则返回short_description的值,如果前两个都为空则返回(none)。 和CASE表达式一样,COALESCE将不会 盘算无助于判断结果的参数;也就是说,在第一个非空参数右边的参数不会被盘算。这个 SQL标准函数提供了类似于NVL和IFNULL的能力,它们被用在某些其他数据库系统中。
    例子:
     以下示例使用示例oe.product_information表来组织产物清仓贩卖。它为所有标价的产物提供 10% 的折扣。如果没有标价,则贩卖价格为最低价格。如果没有最低价格,则贩卖价格为“5”:
  
  1. SELECT product_id, list_price, min_price, COALESCE(0.9*list_price, min_price, 5) "Sale" FROM product_information WHERE supplier_id = 102050 ORDER BY product_id;
复制代码
   8.76. COL_DESCRIPTION

   用法:
   
  1. col_description(table_oid, column_number)
复制代码
   功能:
     col_description为一个表列返回注释,该表列由所在表的 OID 和它的列号指定(obj_description不能被用在表列,因为表列没有本身的 OID)。
    例子:
   
  1. CREATE TABLE comment_test (
  2. id int,
  3. positive_col int CHECK (positive_col > 0),
  4. indexed_col int,
  5. CONSTRAINT comment_test_pk PRIMARY KEY (id));
  6. COMMENT ON COLUMN comment_test.id IS 'Column ''id'' on comment_test';
  7. SELECT col_description('comment_test'::regclass, 1) as comment;
复制代码
   8.77. CONCAT

   用法:
         
      concat(str ”any” [, str ”any” [, ...] ])
    功能:
     字符串函数,串接所有参数的文本表现。 NULL 参数被忽略.
    例子:
     此示例使用嵌套连接三个字符串:
  
  1. SELECT concat('abcde',2, NULL, 22);
复制代码
   8.78. CONCAT_WS

   用法:
   
  1. concat_ws(sep text,str ” any” [,str ” any” [, ...]])
复制代码
   功能:
     字符串函数,将除了第一个参数 seq 外的其他参数用分隔符串接在一起。第一个参数被用作分隔符字符串。NULL 参数被忽略。
    例子:
     此示例使用分隔符连接三个字符串:
  
  1. SELECT concat_ws(',','abcde', 2,NULL, 22);
复制代码
   8.79. CONNECTIONS

   用法:
   
  1. connections()
复制代码
   功能:
     返回数据库服务器当前的用户连接数。
    例子:
   
  1. SELECT connections()
  2. ;
复制代码
   8.80. CONTAINS

   用法:
   
  1. contains(expr text,expr2 text [,expr3 varchar])
复制代码
   功能:
     字符串函数,依据参数expr3 所给出的全文检索的设置信息,以参数 expr2 为查询条件在参数 expr1 中进行 匹 配 查 找,如果找到则返回 true,否则返回 false。
    例子:
   
  1. SELECT CONTAINS('test of contains','contain');
复制代码
   8.81. CONVERT

   用法:
         
      convert(string bytea,src_encoding name,dest_encoding name)
    功能:
     字符串函数,将字符串转换为dest_encoding。原始编码由src_encoding指定。 string在这个编 码中必须可用。转换可以使用 CREATECONVERSION 定义。也有一些预定义的转换。
    例子:
     用Latin-1 encoding (ISO 8859-1) 表现的 text_in_utf8
  
  1. SELECT convert('text_in_utf8','UTF8','LATIN1');
复制代码
   8.82. CONVERT_FROM

   用法:
   
  1. convert_from(string bytea, src_encoding name)
复制代码
   功能:
     字符串函数,将字符串转换为数据库编码。 原始编码 由src_encoding指定。 string在这个编码中必须可用。
    例子:
     用当前数据库编码表现的text_in_utf8
  
  1. SELECT convert_from(’text_in_utf8’,’UTF8’);
复制代码
   8.83. CONVERT_TO

   用法:
   
  1. convert_to(string text,dest_encoding name)
复制代码
   功能:
     字符串函数,将字符串 string 转换为 dest_encoding 指定的编码格式。
    例子:
     用 UTF8 编码表达的 sometext .. code:
  
  1. SELECT convert_to(’some text’, ’UTF8’);
复制代码
   8.84. CORR

   用法:
         
      corr(y,x)
    功能:
     CORR返回一组数字对的相关系数。您可以将其用作聚合或分析函数。
   此函数将任何数值数据类型或任何可以隐式转换为数值数据类型的非数值数据类型作为参数。
    例子:
   
  1. CREATE TABLE aggtest (
  2.     a                       int2,
  3.     b                       float4
  4. );
  5. SELECT corr(b, a) FROM aggtest;
复制代码
   8.85. COS

   用法:
   
  1. cos(n)
复制代码
   功能:
     三角函数,COS返回n的余弦(以弧度表现的角度)。
   此函数将任何数值数据类型或任何可以隐式转换为数值数据类型的非数值数据类型作为参数。
    例子:
     以下示例返回 180 度的余弦:
  
  1. SELECT COS(180 * 3.14159265359/180) ;
复制代码
   8.86. COSH

   用法:
   
  1. cosh(n)
复制代码
   功能:
     三角函数,COSH返回n的双曲余弦。
   此函数将任何数值数据类型或任何可以隐式转换为数值数据类型的非数值数据类型作为参数。
    例子:
     以下示例返回零的双曲余弦:
   ..code:
  
  1. SELECT COSH(0) ;
复制代码
   8.87. COT

   用法:
   
  1. cot(n)
复制代码
   功能:
     三角函数,COSH返回n的余切。n以弧度表现。
    例子:
     ..code:
  
  1. SELECT cot(1::tinyint);
复制代码
   8.88. COUNT

   用法:
   
  1. count(expr)
复制代码
   功能:
  count 返回查询返回的行数。您可以将其用作聚合或分析函数。
  如果指定expr,则返回不为空COUNT的行数。您可以盘算expr所有行,也可以只盘算expr的差异值。
  如果您指定星号 (*),则此函数返回所有行,包罗重复行和空行。COUNT从不返回 null。
  例子:
     

  • 聚合示例
       以下示例COUNT用作聚合函数:
   
  1. SELECT count(*) "Total" FROM students;
复制代码
     

  • 分析示例
       下面的示例为employees表中的每个员工盘算在低于员工工资 50 到高于员工工资 150 范围内得到工资的员工的移动计数。
   
  1. SELECT last_name, salary, COUNT(*) OVER (ORDER BY salary RANGE BETWEEN 50 PRECEDING AND 150 FOLLOWING) AS mov_count FROM employees ORDER BY salary, last_name;
复制代码
      8.89. COVAR_POP

   用法:
   
  1. covar_pop(Y, X)
复制代码
   功能:
     covar_pop返回一组数字对的总体协方差。您可以将其用作聚集或分析函数。
   此函数将任何数值数据类型或任何可以隐式转换为数值数据类型的非数值数据类型作为参数。
    例子:
   
  1. CREATE TABLE aggtest (
  2. a                       int2,
  3. b                       float4
  4. );
  5. SELECT covar_pop(b, a) FROM aggtest;
复制代码
   8.90. COVAR_SAMP

   用法:
   
  1. covar_samp(Y, X)
复制代码
   功能:
     COVAR_SAMP返回一组数字对的样本协方差。您可以将其用作聚合或分析函数。
   此函数将任何数值数据类型或任何可以隐式转换为数值数据类型的非数值数据类型作为参数。KingBase确定具有最高数值优先级的参数,将别的参数隐式转换为该数据类型,并返回该数据类型。
   (SUM(expr1 * expr2) - SUM(expr1) * SUM(expr2) / n) / (n-1)
   此中n是 ( expr1, expr2) 对的数量,此中既不为空expr1也不expr2为空。
   该函数返回一个类型的值NUMBER。如果函数应用于空集,则返回 null。
    例子:
   
  1. CREATE TABLE aggtest (
  2. a                       int2,
  3. b                       float4
  4. );
  5. SELECT covar_samp(b, a) FROM aggtest;
复制代码
   8.91. CUME_DIST

   用法:
   
  1. cume_dist()
  2. cume_dist(args)
复制代码
   功能:
     CUME_DIST盘算一组值中某个值的累积分布。返回值的范围CUME_DIST是 >0 到 <=1。领带值始终评估为相同的累积分布值。
   此函数将任何数值数据类型或任何可以隐式转换为数值数据类型的非数值数据类型作为参数。KingBase数据库确定具有最高数值优先级的参数,将剩余参数隐式转换为该数据类型,进行盘算并返回NUMBER。
   

  • 作为聚合函数,对于由函数的参数和相应的排序规范标识CUME_DIST的假设行,盘算行在聚合组中的行之间的相对位置。KingBase进行此盘算,就好像假设行被插入到要聚合的行组中一样。该函数的参数标识每个聚合组中的单个假设行。因此,它们必须全部盘算为每个聚合组中的常量表达式。常量参数表达式和聚合子句中的表达式按位置匹配。因此,参数的数量必须相同,并且它们的类型必须兼容。
  • 作为分析函数,CUME_DIST盘算一组值中指定值的相对位置。对于 row r,假设升序分列,CUME_DISTofr是值小于或等于行数r除以正在评估的行数的值(整个查询结果集或分区)。
    例子:
     

  • 聚合示例
       下面的例子盘算了一个假设雇员在样本表中的雇员中的累积分布,该雇员的薪水为 $15,500,佣金率为 5% oe.employees:
   
  1. SELECT CUME_DIST(15500, .05) WITHIN GROUP (ORDER BY salary, commission_pct) "Cume-Dist of 15500" FROM employees;
复制代码
     

  • 分析示例
       以下示例盘算采购部门中每个员工的工资百分比。比方,40% 的文员工资低于或等于冰室。
   
  1. SELECT job_id, last_name, salary, CUME_DIST() OVER (PARTITION BY job_id ORDER BY salary) AS cume_dist FROM employees WHERE job_id LIKE 'PU%' ORDER BY job_id, last_name, salary, cume_dist;
复制代码
      8.92. CURRENT_DATABASE

   用法:
   
  1. current_database()
复制代码
   功能:
     会话信息函数,返回当前数据库名。
    例子:
   
  1. SELECT current_database()
  2. ;
复制代码
   8.93. CURRENT_DATE

   用法:
   
  1. current_date()
复制代码
   功能:
     current_date以数据类型的公历中的值返回会话时区中的当前日期DATE。
    例子:
   
  1. SELECT current_date()
  2. ;
复制代码
   8.94. CURRENT_QUERY

   用法:
   
  1. current_query()
复制代码
   功能:
     当前正在实验的查询的文本,和客户端提交的一样(可能包含多于一个语句).
    例子:
   
  1. SELECT current_query()
  2. ;
复制代码
   8.95. CURRENT_SCHEMA

   用法:
   
  1. current_schema()
复制代码
   功能:
     返回当前模式名 。
    例子:
   
  1. SELECT current_schema()
  2. ;
复制代码
   8.96. CURRENT_SCHEMAS

   用法:
   
  1. current_schemas(boolean)
复制代码
   功能:
     返回搜刮路径中的模式名, boolean 参数指定是否包含隐含模式。
    例子:
   
  1. SELECT current_schemas(true);
复制代码
   8.97. CURRENT_SETTING

   用法:
   
  1. current_setting(setting_name [, missing_ok])
复制代码
   功能:
     设置设定函数,得到设置的当前值。 current_setting`得到``setting_name``设置的当前值。它对应于SQL下令SHOW。 如果没有名为``setting_name``的设置,除非提供``missing_ok``并且其值为true,current_setting会抛堕落误。
    例子:
   
  1. SELECT  current_setting('datestyle');
复制代码
   8.98. CURRENT_TIME

   用法:
   
  1. current_time(precision)
复制代码
   功能:
     根据 precision 指定的精度参数,返回带偶然区的时间。
    例子:
   
  1. SELECT current_time(8);
复制代码
   8.99. CURRENT_TIMESTAMP

   用法:
   
  1. current_timestamp(precision)
复制代码
   功能:
     CURRENT_TIMESTAMP以数据类型的值返回会话时区中的当前日期和时间TIMESTAMP WITH TIME ZONE。时区偏移反映了 SQL 会话的当前当地时间。如果省略precision,则默认值为6。此函数与返回值的区别在于LOCALTIMESTAMP返回值。 CURRENT_TIMESTAMPTIMESTAMP WITH TIME ZONELOCALTIMESTAMPTIMESTAMP在可选参数中,precision指定返回的时间值的小数秒精度。
    例子:
   
  1. SELECT current_timestamp(8);
复制代码
   8.100. CURRVAL

   用法:
   
  1. currval(regclass)
复制代码
   功能:
     序列操纵函数,返回最近一次用nextval获取的指定序列的值 。
    例子:
   
  1. CREATE TEMP SEQUENCE testseq;
  2. SELECT nextval('testseq');
  3. SELECT currval('testseq');
  4. SELECT nextval('testseq');
  5. SELECT currval('testseq');
复制代码
   8.101. CURSOR_TO_XML


   用法:
   
  1. cursor_to_xml(cursor refcursor, count int, nulls boolean,tableforest boolean, targetns text)
复制代码
   功能:
     XML操纵函数,把关系表的内容映射成 XML 值。它们可以被看成是 XML 导出功能
    例子:
   
  1. CREATE TABLE xmltbl (a int, b text);
  2. INSERT INTO xmltbl VALUES (1, 'one'), (2, 'two'), (-1, null);
  3. DECLARE xc CURSOR WITH HOLD FOR SELECT * FROM xmltbl ORDER BY 1, 2;
  4. SELECT cursor_to_xml('xc'::refcursor, 5, false, true, '');
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表