乱码乱a∨中文字幕,在线免费激情视频,亚洲欧美久久夜夜潮,国产在线网址

  1. <sub id="hjl7n"></sub>

    1. <sub id="hjl7n"></sub>

      <legend id="hjl7n"></legend>

      當前位置:首頁 >  站長 >  數(shù)據(jù)庫 >  正文

      PostgreSql 的hash_code函數(shù)的用法說明

       2021-04-28 15:47  來源: 腳本之家   我來投稿 撤稿糾錯

        阿里云優(yōu)惠券 先領券再下單

      PostgreSql 實現(xiàn)的hash_code 函數(shù)與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的某些常用函數(shù)

      一、COALESCE(col,value);

      COALESCE函數(shù)的作用是空值替換函數(shù),即當某列的值為空時,則可用其他值進行替換,再返回給前端。

      eg:COALESCE(totalnum,0);即當字段名為totalnum的列的值為空時,則用0進行替換,進行替換的值可根據(jù)實際情況可用number類型,也可用varchar類型等。

      二、regexp_split_to_table(col,',');

      regexp_split_to_table函數(shù)的作用是利用正則表達式將字符串分割成表格。即將對指定列的值進行分割,分割后的每個子串將轉成一行,多個子串將轉成多行。如下圖所示:

      因此鑒于以上的功能,在實際開發(fā)中可以用于多類型,多狀態(tài)或者多形式的條件查詢,例如--如下圖所示:

      其中的'00,10,11,98'是可以由前端傳過來封裝好的字符串變量,這種做法比用循環(huán)取出,再封裝成"'00','10','11','98'"這種形式的字符串方便了許多。

      三、regexp_split_to_array(col,',');

      regexp_split_to_array是將某一字段的值以特定的符號進行分割后轉換為數(shù)組的格式,入下圖所示

      四、string_agg

      直接把一個表達式或者某一列的字段合并變成字符串

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

      第一個參數(shù)表示需要合并的字段或者表達式。

      第二個參數(shù)表示以什么符號進行將第一個參數(shù)進行鏈接起來,一般都是使用','。

      第三個參數(shù)為可選項,表示將第一列的字段以怎樣的排序進行合并。

      示例:

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

      注:第二個參數(shù)與第三個參數(shù)之間不需要逗號進行隔離,只需要空格就行,甚至不需要空格!

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

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

      第一個參數(shù)是需要被截取的字符串,第二個參數(shù)是從第幾位開始截取,起始位置是1,第三個參數(shù)表示截取的長度。

      六、獲取當前日期是星期幾

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

      將dow換成day就是獲取當前日期是當前月份的第幾天

      七、將日期轉換成 INTERVAL 格式

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

      可計算兩個日期之間相差多少日期

      文章來源:腳本之家

      來源地址:https://www.jb51.net/article/205231.htm

      申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

      相關文章

      熱門排行

      信息推薦