SQL常用的内置函数

  1. replace()

replace(str,‘a’,‘b’) 将字符串str 中的a字符串替换为b。

  1. regexp_replace()

regexp_replace(str,‘正则表达式’,b) 将字符串str中正则匹配的地方替换为b。
当然类似的还有
regexp_substr()
regexp_extract(str,正则,ids) 对字符串正则匹配取第ids个元素。
regexp_instr()
regexp_like()
其用法参考:函数具体用法

  1. translate()

translate(str,‘str1’,‘str2’)
对str字符串和str1字符串进行比对,字符相同的话,替换成str2相同位置的字符。
select translate(‘ab 你好 bcadefg’, ‘abcdefg’,‘1234567’) as new_str from dual
结果为:12 你好 2314567
替换目标字符串中的字符

abcdefg
1234567
上下对应

  1. trim()

trim(str) 对字符串str进行首尾去空操作

  1. case when (条件) then a else b end

类似于if else语句

  1. length()

length(str) 获得字符串的长度。

  1. size()

size(数组) 获得数组中元素的个数

  1. split()

split(str,‘-’)对字符串str按照 - 进行切分,得到数组。索引从0开始。
使用索引获取数组的个数。split(str,‘-’)[0], 或者 split(str,‘-’)[1]

  1. substr()

substr(str,0,1)表示对字符串str从索引0位置开始,截取长度为1的字符。
substr(str,-1,4)表示对字符串str从索引最后的位置开始,向前截取4个长度的字符。

  1. instr()

instr(str1,str2,start,nth) 返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。
表示从str1中start索引位置开始查找str2的字符串。nth表示查找的字符串出现的第几
次。
select instr(‘aa,bb,cc,dd,ee,ff’, ‘,’, 1,1) from dual;–3
select instr(‘aa,bb,cc,dd,ee,ff’, ‘,’, 1,2) from dual;–6 select
instr(‘aa,bb,cc,dd,ee,ff’, ‘,’, -1,1) from dual;–15
注意,索引从1开始。

  1. cast()

cast(ff as string) 将ff列中的字段类型转换为string类型。还有bigint等等。

  1. decimal()

decimal(a,b)
a:指的是整数和小数所能存的最多的位数
b:指的是小数数字的位数,即a-b就是整数的位数
例如: select cast(hhh as decimal(10,2))

  1. from_utc_timestamp()

from_utc_timestamp(public_date,‘yyyy-MM-dd HH:mm:ss’) 将UTC时间转化为对应格式的时间戳。

  1. from_unixtime()

from_unixtime(now(), ‘%Y-%m-%d %H:%i:%s’) now()获取当前时间,并将时间转换为指定格式。

  1. date_format()

date_format(now(), ‘%Y-%m-%d %H:%i:%s’) now()获取当前时间,并将时间转换为指定格式。

  1. now()

获取当前系统时间。

  1. coalesce()

coalesce(a,b,c)函数,当a为null返回b,当b为null返回c。
select coalesce(t2.comm_pgud_num, 0) from t

  1. concat()

concat(str1,str2)将两个字符串拼接在一起。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值