暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

hubble数据库函数之字符串函数

原创 琳哥 2023-01-31
461
函数 返回类型 参数 说明
ascii int string 返回第一个字符的asc编码
bit_length int bytes 计算bits数
bit_length int string 计算bits数
btrim string string,string 删除匹配的字符
btrim string string 去除空格
char_length int bytes 计算字节长度
char_length int string 计算字符长度
chr string int 返回ascii值
concat string string… 拼接字符串
concat_ws string string… 使用第一个参数拼接字符串
convert_from string bytes,string 将字节转化为执行编码的字符串(支持UTF8与LATIN1)
convert_to bytes string,string 将字符串转化为指定编码的字节(支持UTF8与LATIN1)
decode bytes string,string 换化为字节码,支持hex,escape,base64
encode string bytes,string 换化为字符串,支持hex,escape,base64
from_ip string bytes 将IP的字节字符串表示形式转换为其字符串表示形式
from_uuid string bytes 将UUID的字节字符串表示形式转换为其字符串表示形式。
initcap string string 第一个字母大写。
left bytes bytes,int 获取头几位字节
left string string,int 获取头几位字符串
length int bytes 计算字节码的长度
length int string 计算字符串的长度
lower string string 将大写转化为小写
lpad string string,int 通过在字符串的左侧添加’ '来增加长度。如果字符串比长度长,就被截断。
lpad string string,int ,string 通过在字符串的左侧添加传入参数来增加长度。如果字符串比长度长,就被截断。
ltrim string string,string 递归从输入的开始(左侧)删除包含的所有字符
ltrim string string 去除左边的空格
md5 string bytes 计算MD5值
md5 string string 计算MD5值
octet_length int bytes 计算字节数
octet_length int string 计算字节数
overlay string string,string,int 从指定下标开始替换字符
overlay string string,string,int,int 从指定下标开始替换字符
quote_ident string string 返回val作为SQL语句中的标识符。
quote_literal string string 返回val作为SQL语句中的字符串文字适当引用。
quote_nullable string string 将参数强制转换为字符串,然后将其作为文字引用。
regexp_extract string string,string 返回输入中正则表达式的第一个匹配项。
regexp_replace string string,string,string 将输入中的正则表达式regex的匹配项替换为正则表达式替换。
repeat string string,int 返回输入指定重复次数的参数
replace string string,string,string replace替换输入的第三个参数替换匹配的第二个参数
reverse string string 反转字符串字符的顺序。
right bytes bytes,int 获取从右开始头几位字节
right string string,int 获取从右开始头几位字符
rpad string string,int 通过在字符串的右侧添加’ '来增加长度。如果字符串比长度长,就被截断。
rpad string string,int,string 通过在字符串的右侧添加传入参数来增加长度。如果字符串比长度长,就被截断。
rtrim string string,string 递归从输入的开始(右侧)删除包含的所有字符
rtrim string string 去除右边的空格
sha1 string bytes 计算SHA1值
sha1 string string 计算SHA1值
sha256 string bytes 计算SHA256值
sha256 string string 计算SHA256值
sha512 string bytes 计算SHA512值
sha512 string string 计算SHA512值
split_part string string,string,int 分割分隔符上的输入并返回第几位
strpos int string,string 计算输入中字符串开始的位置。
substr string string,string 返回与正则表达式regex匹配的输入子字符串。
substr string string,string,string 返回与正则表达式regex匹配的输入子字符串,使用第三个参数作为转义字符
substr string string,int 从指定下标开始截取字符串
substr string string,int,int 从指定下标开始截取字符串,并指定截取字符串长度
to_english string int 此函数使用英语基数来声明其参数的值。
to_hex string bytes 将val转换为其十六进制表示形式。
to_hex bytes string 将val转换为其十六进制表示形式。
to_uuid bytes string 将UUID的字符串表示形式转换为其字节字符串表示形式。
translate string string,string,string 指定替代字符串内容
upper string string 将字符内容转为大写
  • ascii
select ascii('a') ;
  ascii  
+--------------+
   97
  • 将字符串所有的单词进行格式化,首字母大写,其它为小写
select initcap('hi THOMAS');
  initcap  
+--------------+
 Hi Thomas
  • decode,对字符串按指定的类型进行解码
select decode('MTIzAAE=', 'base64');
  decode  
+--------------+
   123  
  • char_length()
select char_length('stfwwwwwfsf')
  char_length  
+--------------+
   11  
  • chr()
select chr(76);
  chr  
+--------------+
   L  
  • CONCAT字符串的连接
create table full_test( first_name varchar(10), last_name varchar(10) ); insert into full_test values ('zhang','sanfeng'),('liu','dehua'),('王','阳明'); select CONCAT(first_name, ' ', last_name) AS "Full name" from full_test;
  Full name  
+--------------+
  zhang sanfeng
  liu dehua
    王 阳明 
  • concat_ws()

使用等号=拼接字段usernameaddress

select concat_ws('=', username, address) as info from user;
  Full name  
+--------------+
    张三=上海
    李四=上海
    王五=上海
  • 将一数值转换为字符串,并为其两边加上单引号
select squote_literal(42.5);
  quote_literal
+--------------+
   '42.5'
  • lower

将大写字母转化为小写

select lower('ADDRESS') ;
    lower
+--------------+
   address
  • overlay()用于函数的替换

第一个起始位置参数,不是从0开始的,从1开始,第一个参数是起始位置,第二个是要被代替的字符长度

select overlay('Txxxxas' placing 'hom' from 2 for 4) ;
   overlay 
+--------------+
   Thomas

去掉for的情况,则会走默认代替的长度,故建议在使用时候选择语句中带有for的情况

select overlay('Txxxxas' placing 'hom' from 2 ) ;
   overlay  
+--------------+
   Thomxas
  • convert_from
select convert_from('text_in_utf8', 'UTF8');
  • convert_to
select convert_to('some text', 'UTF8')
   convert_to  
+--------------+
   some text
  • encode
select encode(E'123\000\001', 'base64')
   encode  
+--------------+
   MTIzAAE=  
  • LEFT()

获取前5位字符串

select LEFT('1234567890', 5);
  • upper()

小写字母转大写

select upper('abcdef');
   upper  
+--------------+
   ABCDEF  
  • md5()

计算MD5

select md5('hubble') ;
               md5  
+--------------------------------+
 90dc10ef0211b0088ac9430df0f6c158  
  • quote_nullable

可以将数字类型转化成字符串类型

select quote_nullable('address') ;
quote_nullable  
+--------------+
  'address'  
  • replace
select REPLACE ( 'http://www.baidu.cn', 'http', 'https' );
    replace 
+--------------------+
 https://www.baidu.cn  
  • sha256()加密
select sha256('hubble');
    sha256
+---------------------------------------------------------------+
 18d9486f99df32c58605e574ffae3773efe42294e95a1577c52a6f5d987ad44f 
  • split_part()
select split_part('add.ress', '.', 1);
   split_part
+--------------------+
   add
  • strpos

指定字符串在目标字符串的位置

select strpos('high', 'ig')
   strpos 
+--------------+
   2
  • substr()

三个参数情况,以下代表从第2位截取,截取3个字符

select substr('address', 2,3);
   substr 
+--------------+
   ddr

二个参数情况,代表从2位截取,默认截取到最后

select substr('address', 2);
   substr 
+--------------+
   ddress
  • to_english
select to_english(100);
 to_english 
+--------------+
 one-zero-zero
  • 将字符串中某些匹配的字符替换成指定字符串,目标字符与源字符都可以同时指定多个
select translate('abcde', 'ad', '14');
   translate 
+--------------+
   1bc4e
  • DIFFERENCE,值返回0-4,值越大相似性越大

用法:

DIFFERENCE(string, string)
SELECT SOUNDEX('poor') soundex_poor, SOUNDEX('pour') soundex_pour, DIFFERENCE('poor', 'pour') similarity;
  soundex_poor | soundex_pour | similarity
---------------+--------------+-------------
  P600         | P600         | 4
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论