专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

续:Oracle数据库中几种很有用的非典型函数(二)

ins518 2024-10-25 14:24:59 技术文章 7 ℃ 0 评论

1、数值格式化

通过to_char函数可对数值进行格式化处理

select

to_char(4567.89, '9999.9') 一位,

to_char(4567.89, '9,999.99') 千分位,

to_char(4567.89, '$9,999.00') 货币符号,

to_char(78, '000099') 补全位数

from dual;

数值格式化

2、日期及时间

也是通过to_char函数可对相关日期及时间进行提取处理

select

to_char(sysdate,'dd') 当月第几天,

to_char(sysdate,'ddd') 当年第几天,

to_char(sysdate,'ww') 当年第几周,

to_char(sysdate,'mm') 当年第几月,

to_char(sysdate,'q') 当年第几季

from dual;

提取日期

3、全角/半角字符串互转to_single_byte()和,to_multi_byte()

通过函数进行全角及半角字符串的相互转换

select

to_single_byte('王鸿运很niubi') 全角转半角,

to_multi_byte('王鸿运很niubi') 半角转全角

from dual;

全角/半角转换

4、返回最大的一个值greatest()

greatest(exp1,exp2,exp3,exp4,…,expn),如此表达式中的数据类型不一致,则Oracle会先自动隐含转换为第一个表达式的数据类型,然后再进行比较,如:

SELECT

greatest(10,32,'123','2006') val1,

greatest('kdnf','dfd','a','z106') val2

FROM dual;

返回最大值greatest()

5、返回最小的一个值least()

least(exp1,exp2,exp3,exp4…,expn),如果此表达式中的数据类型不一致,则数据库会先自动隐含转换为第一个表达式的数据类型,然后再进行比较,如:

SELECT

least(10,32,'123','2006') val1,

least('kdnf','dfd','a','z106') val2

FROM dual;

返回最小值least()

6、返回列表中第一个非空或NULL的值COALESCE()

COALESCE(exp1, exp2, exp3,…, exp5),该函数返回括号中第一个非空的表达式的值,如:

select

COALESCE(null,4+5,67) V1,

COALESCE(null,4*5,89) V2,

COALESCE(3,8/2,99) V3,

COALESCE(null,'','ABCD') V4,

COALESCE('','EFG') V5

from dual;

返回非空/NULL值coalesce()

7、产生32位的随机数sys_guid()

Oracle随机产生一个32位的随机数:

select sys_guid() from dual;

随机数sys_guid()

先到这儿吧,其他的函数抽空再整理。。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表