• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PostgreSql 的hash_code函数的用法说明

    PostgreSql 实现的hash_code 函数与java hash_code方法一致

    CREATE FUNCTION hash_code(text) RETURNS integer
      LANGUAGE plpgsql
    AS
    $$
    DECLARE
      i integer := 0;
      DECLARE
      h bigint := 0;
    BEGIN
      FOR i IN 1..length($1)
        LOOP
          h = (h * 31 + ascii(substring($1, i, 1)))  4294967295;
        END LOOP;
      RETURN cast(cast(h AS bit(32)) AS int4);
    END;
    $$;

    补充:PGSQL的某些常用函数

    一、COALESCE(col,value);

    COALESCE函数的作用是空值替换函数,即当某列的值为空时,则可用其他值进行替换,再返回给前端。

    eg:COALESCE(totalnum,0);即当字段名为totalnum的列的值为空时,则用0进行替换,进行替换的值可根据实际情况可用number类型,也可用varchar类型等。

    二、regexp_split_to_table(col,',');

    regexp_split_to_table函数的作用是利用正则表达式将字符串分割成表格。即将对指定列的值进行分割,分割后的每个子串将转成一行,多个子串将转成多行。如下图所示:

    因此鉴于以上的功能,在实际开发中可以用于多类型,多状态或者多形式的条件查询,例如--如下图所示:

    其中的'00,10,11,98'是可以由前端传过来封装好的字符串变量,这种做法比用循环取出,再封装成"'00','10','11','98'"这种形式的字符串方便了许多。

    三、regexp_split_to_array(col,',');

    regexp_split_to_array是将某一字段的值以特定的符号进行分割后转换为数组的格式,入下图所示

    四、string_agg

    直接把一个表达式或者某一列的字段合并变成字符串

    格式--string_agg(expression,delimiter order by expression)

    第一个参数表示需要合并的字段或者表达式。

    第二个参数表示以什么符号进行将第一个参数进行链接起来,一般都是使用','。

    第三个参数为可选项,表示将第一列的字段以怎样的排序进行合并。

    示例:

    string_agg(f_b_getusername(r.userid),',' order by r.crt_time desc) as mjxms

    注:第二个参数与第三个参数之间不需要逗号进行隔离,只需要空格就行,甚至不需要空格!

    五、substring(string [from int] [for int])

    substring('abcdefg' from 2 for 3) = bcd

    第一个参数是需要被截取的字符串,第二个参数是从第几位开始截取,起始位置是1,第三个参数表示截取的长度。

    六、获取当前日期是星期几

    SELECT extract(dow FROM cast(now() as TIMESTAMP))

    将dow换成day就是获取当前日期是当前月份的第几天

    七、将日期转换成 INTERVAL 格式

    select age('2019-10-10','2018-04-19')

    可计算两个日期之间相差多少日期

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • postgresql 索引之 hash的使用详解
    • PostgreSQL Sequence序列的使用详解
    • PostgreSQL之INDEX 索引详解
    • PostgreSql 重建索引的操作
    • Postgresql 查询表引用或被引用的外键操作
    上一篇:postgresql 索引之 hash的使用详解
    下一篇:Postgresql数据库之创建和修改序列的操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PostgreSql 的hash_code函数的用法说明 PostgreSql,的,hash,code,函数,