91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hash_code函數怎么在PostgreSql中使用

發布時間:2021-02-03 14:32:15 來源:億速云 閱讀:310 作者:Leah 欄目:開發技術

本篇文章為大家展示了hash_code函數怎么在PostgreSql中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

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函數的作用是利用正則表達式將字符串分割成表格。即將對指定列的值進行分割,分割后的每個子串將轉成一行,多個子串將轉成多行。如下圖所示:

hash_code函數怎么在PostgreSql中使用

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

hash_code函數怎么在PostgreSql中使用

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

三、regexp_split_to_array(col,',');

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

hash_code函數怎么在PostgreSql中使用

四、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')

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

hash_code函數怎么在PostgreSql中使用

上述內容就是hash_code函數怎么在PostgreSql中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汝城县| 雷波县| 南皮县| 成安县| 桓仁| 珠海市| 宁波市| 石景山区| 静海县| 得荣县| 永靖县| 肥城市| 渭南市| 繁峙县| 景德镇市| 金阳县| 新和县| 浑源县| 福建省| 靖西县| 门头沟区| 静安区| 治县。| 日喀则市| 宿迁市| 依兰县| 双城市| 黑龙江省| 叶城县| 凯里市| 荆门市| 平陆县| 蓝田县| 会东县| 偏关县| 乃东县| 祁阳县| 景泰县| 呈贡县| 运城市| 金沙县|