PostgreSql实现的Hash_code函数与java hash_code方法一致
创建函数散列码(文本)返回整数
语言plpgsql
如同
$$
宣布
I整数:=0;
宣布
h big int :=0;
开始
因为我在1.长度($1)
环
h=(h * 31 ascii(substring($1,I,1)))4294967295;
结束循环;
RETURN cast(cast(h AS bit(32))AS int 4);
END
$$;
补充:PGSQL的一些常用函数
1.聚结(col,value);
聚结函数是一个null替换函数,即当一列的值为null时,可以用其他值替换,然后返回到前端。
例如:聚结(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 _ t tanshing network company o _ array是将某个字段的值除以特定的符号并转换成数组的格式,如下图所示
第四,string_agg
直接将表达式或字段列组合成字符串
格式-string _ agg(表达式,按表达式的分隔符顺序)
第一个参数指示要合并的字段或表达式。
第二个参数指示用于链接第一个参数的符号,通常使用“,”。
第三个参数是可选的,指示如何对第一列中的字段进行排序。
示例:
1 string _ agg(f _ b _ getusername(r . userid),',' order by r.crt_time desc) as mjxms
注意:第二个参数和第三个参数不需要逗号分隔,只需要一个空格,甚至不需要空格!
动词(verb的缩写)子字符串(string [from int] [for int])
1 substing(' abcdefg ' from 2 for 3)=BCD
第一个参数是要截取的字符串,第二个参数是从哪个位截取,起始位置为1,第三个参数表示截取的长度。
6.今天是几号
1选择摘录(陶氏铸造(现为时间戳))