HSQL之基础函数
基础函数将从数字函数,⽇期函数,条件函数,字符串函数这⼏个⽅⾯进⾏总结
1.数字函数:
round(double d, int n):d是要进⾏四舍五⼊的数值,n是保留多少位⼩数.
floor(double d): 返回⼩于d的最⼤整值
ceil(double d):  返回⼤于d的最⼩整值
rand(int seed):  返回随机数,seed是随机因⼦,⽐如rand(100),他的随机数是⼀定的
bin(int d):      计算d的⼆进制值,返回类型为string值
2.⽇期函数
to_date(string timestamp):返回时间字符串中的⽇期部分,
这是时间:'2020-01-01 00:00:00'
这是⽇期:'2020-01-01'
current_date:返回当前⽇期
from_unixtime(unix_timestamp()): 返回当前时间
year(date):返回年份
month(date):返回⽉份
day(date):  返回天
weekofyear(date):data处于该年第⼏周
datediff(date1,date2):返回date1与date2相关⽇期相差的多少天
date_add(date1,int1):返回⽇期date1加上int1的⽇期,如date_add('2019-03-06',1)
date_sub(date1,int1):返回⽇期date1减去int1的⽇期,如date_sub('2019-03-06',1)
months_between(date1,date2):返回date1与date2相差多少⽉,如months_between('2019-03-06','2019-01-01')
add_months(date1,int1):返回date1⽇期基础上加上int1个⽉的⽇期datediff是字符型函数
当int1为负数,表⽰在date1⽇期基础之上减去int1个⽉。如add_months('2019-02-11',-1)='2019-01-11'
last_day(date1):返回date1所在⽉份最后⼀天。如last_day('2019-02-01')
next_day(date1,day1):返回⽇期date1的下个星期day1的⽇期。day1为星期X的英⽂前两字母如next_day('2019-03-06','MO') 返回'2019-03-11'
unix_timestamp():返回当前时间的unix时间戳,可指定⽇期格式。如unix_timestamp('2019-03-06','yyyy-mm-dd')=1546704180
from_unixtime():返回unix时间戳的⽇期,可指定格式。如select from_unixtime(unix_timestamp('2019-03-06','yyyy-mm-dd'),'yyyymmdd')='20190306'求当前上⼀个⽉的倒数第⼆天  select date_sub(last_day(add_months(current_date(),-1)),1);
3.条件函数:
if(boolean,t1,t2):若布尔值成⽴,则返回t1,反正返回t2。如if(1>2,100,200)返回200
case when boolean then t1 else t2 end:若布尔值成⽴,则t1,否则t2,可加多重判断
coalesce(v0,v1,v2):返回参数中的第⼀个⾮空值,若所有值均为null,则返回null。如coalesce(null,1,2)返回1
isnull(a):若a为null则返回true,否则返回false
nvl函数:nvl(str1,str2) 如果第⼀个参数不为空的话,则该表达式返回第⼀个参数的值,若第⼀个参数为空时,则返回第⼆个参数的值。
nvl2函数:nvl2(str1,str2,str3) 如果str1的值为空则返回str3,如果不为空则返回str2
4.字符串的处理:
length(string1):返回字符串长度
concat(string1,string2):返回拼接string1及string2后的字符串
concat_ws(sep,string1,string2):返回按指定分隔符拼接的字符串
lower(string1):返回⼩写字符串,同lcase(string1)。upper()/ucase():返回⼤写字符串
trim(string1):去字符串左右空格,ltrim(string1):去字符串左空格。rtrim(string1):去字符串右空格
repeat(string1,int1):返回重复string1字符串int1次后的字符串
reverse(string1):返回string1反转后的字符串。如reverse('abc')返回'cba'
rpad(string1,len1,pad1):以pad1字符右填充string1字符串,⾄len1长度。如rpad('abc',5,'1')返回'abc11'。lpad():左填充
split(string1,pat1):以pat1正则分隔字符串string1,返回数组。如split('a,b,c',',')返回["a","b","c"]
substr(string1,index1,int1):以index位置起截取int1个字符。如substr('abcde',1,2)返回'ab'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。