log函数 oracle power_ORACLE SQL 常用函数总结

1、Substr(arg1,arg2,arg3)

说明:arg1是待分割的字符串,arg2和arg3分别是起始分割字符号

其中arg3可选

例:substr(12345, 1,4) 结果为 1234

补充:两个参数,即arg3为空的用法在SQL SERVER中不适用

2、Instr(arg1,arg2,arg3,arg4)

说明:arg1为待搜索内容,arg2为搜索内容,arg3为搜索起始位置,arg4为搜索匹配位置,即第几次匹配(arg4默认为1)

例:Instr('CORPORATE FLOOR','OR', 3, 2) 结果为 14

3、Concat(arg1,arg2)

说明:将arg1和arg2连接起来,类似于使用||符号进行连接

例:Concat(1,2) 结果为 12

4、Trim(arg)

说明:默认为去掉arg中的前后空格

例:Trim(‘ 12345 ‘) 结果为 12345 等同于使用 Trim(‘ ’ from ‘ 12345 ’)

补充:Trim又可以细分为LTrim和RTrim,分别为去掉左、右空格。

其他用法:Trim(arg1 from arg2)表示 若arg2以arg1字符开头或结束,则将所有连续的arg1字符去掉,例如 Trim(‘s’ from ‘stuff’) 结果为tuff,Trim(‘f’ from ‘stuff’)结果为 stu

为使意义更清晰,有时还会添加leading和trailing来区分arg2的匹配位置,例如 Trim(‘t’ from ‘test’) 结果为 es

Trim(leading ‘t’ from ‘test’) 结果为 est

Trim(trailing ‘t’ from ‘test’) 结果为 tes

5、Length(arg)

说明:计算arg的长度

例:Length(12345) 结果为 5

6、Ascii(arg)

说明:返回与指定字符对应的十进制数

例:Ascii(‘A’) 结果为 65

7、Chr(arg)

说明:返回与指定整数对应的字符

例:Chr(65) 结果为 A

8、Lower(arg)

说明:将arg全部变为小写

例:Lower(‘TesT’) 结果为 test

9、Upper(arg)

说明:将arg全部变为大写

例:Upper(‘TesT’) 结果为 TEST

10、Initcap(arg)

说明:将arg的首字母变为大写

例:Initcap(‘test’) 结果为 Test

11、LPad(arg1,arg2,arg3) & RPad(arg1,arg2,arg3);

说明:LPad和RPad分别为在arg1左、右粘贴字符,arg2表示字符串总占据长度,arg3表示的是如果arg1不能占据所有长度,则使用什么进行粘贴。

例:LPad(‘abc’,5,’*’) 结果为 **abc   RPad(‘abc’,5,’*’) 结果为 abc**

补充:若arg1的长度大于arg2规定长度,则将arg1按照arg2的长度从第一个字符进行截取,此时arg3将不影响结果,例:LPad(‘abcdefg’,5,’*’) 结果为 abcde

12、Replace(arg1,arg2,arg3)

说明:arg1表示待处理的字符串

arg2表示待替换的字符

arg3表示要替换成为的字符

例:Replace('string test','t','*') 结果为s*ring*es*

13、ABS(arg)

说明:返回arg的绝对值

例:ABS(-100) 结果为 100

ABS(100) 结果为  100

14、Ceil(arg)

说明:返回大于或等于arg数字的最小整数

例:Ceil(3.14) 结果为 4

15、Floor(arg)

说明:返回arg数字的整数部分(取整)

例:Floor(3.14) 结果为 3

16、Sin(arg)

说明:返回arg数字的正弦值

例:Sin(1.5) 结果为 0.997494986604054

17、ASin(arg)

说明:返回反正弦的值

例:ASin(0.5) 结果为 0.523598775598299

18、Cos(arg)

说明:返回arg数字的余弦值

例:Cos(-3.1415927) 结果为 -0.999999999999999

19、ACos(arg)

说明:返回反余弦的值

例:ACos(-1) 结果为 3.14159265358979

20、Tan(arg)

说明:返回arg数字的正切值

例:Tan(20) 结果为 2.23716094422474

21、ATan(arg)

说明:返回arg数字的反正切值

例:ATan(1) 结果为 0.785398163397448

22、Exp(arg)

说明:返回e的arg次方根

例:Exp(2) 结果为 7.38905609893065

23、Ln(arg)

说明:返回arg的对数

例:Ln(1) 结果为 0

24、Log(arg1,arg2)

说明:返回以arg1为底arg2的对数

例:Log(2,4) 结果为 2

25、Mod(arg1,arg2)

说明:返回arg1除以arg2的余数

例:Mod(3,2) 结果为 1

26、Power(arg1,arg2)

说明:返回arg1的arg2次方

例:Power(2,3) 结果为 8

27、Sign(arg)

说明:取arg的符号,若arg>0,返回1

若 arg=0,返回0

若arg<0,返回-1

例:Sign(2), Sign(0), Sign(-2) 结果分别为 1,0,-1

28、Sinh(arg)

说明:返回双曲线的正弦值

例:Sinh(20) 结果为 242582597.704895

29、Cosh(arg)

说明:返回双曲线的余弦值

例:Cosh(20) 结果为 242582597.704895

30、Sqrt(arg)

说明:返回数字arg的平方根

例:sqrt(64) 结果为 8

31、Tanh(arg)

说明:返回双曲线的正切值

例:Tanh(20) 结果为 1

32、Sysdate

说明:取系统当前时间

例:SELECT SYSDATE FROM DUAL;

33、Greatest

说明:取一组数中的最大值,比较字符的编码大小

例:Greatest('A','C','B') 结果为C

34、Least

说明:取一组数中的最小值,比较字符的编码大小

例:Least('A','C','B') 结果为A

35、To_Number

说明:将字符串转换为数字

例:To_Number(‘12345’) 结果为 12345

补充:这里的字符串必须由数字组成,否则不能转化

36、Last_Day(Sysdate)

说明:返回该月的最后一天的当前时刻

例:Last_Day(Sysdate) 结果为 2008-10-31 15:28:20

37、To_Char(date,’format’)

说明:将时间转换为指定格式

例:To_Char(Sysdate, ‘yyyy/mm/dd hh24:mi:ss’) 结果为 2008/10/07 15:34:13

38、To_Date(string,’format’)

说明:将string根据给定的时间匹配方式转换成为时间类型

例:To_Date('20081007153413','yyyymmddhh24miss') 结果为 2008-10-7 15:34:13

39、Next_Day(date,’dayofweek’)

说明:计算下个星期相同日的日期

例:Next_Day(’07-10月-2008’,’星期二’) 结果为 2008-10-14

40、Add_Months(date,month)

说明:给指定日期加上指定月份

例:To_Char(Add_Months(To_Date('2008,10,07 15:52:00',

'yyyy,mm,dd hh24:mi:ss'),

1),

'yyyy,mm,dd hh24:mi:ss') 结果为 2008,11,07 15:52:00

41、Months_Between(date2,date1)

说明:返回date2-date1的月份

例:Months_Between(Add_Months(Sysdate,1),Add_Months(Sysdate,-1)) 结果为 2

42、New_Time(date,this,that)

说明:返回this时区=that时区的日期和时间

例:SELECT To_Char(Sysdate, 'yyyy.mm.dd hh24:mi:ss') bj_time,

To_Char(New_Time(Sysdate, 'PDT', 'GMT'), 'yyyy.mm.dd hh24:mi:ss') los_angles

FROM DUAL; 结果为 2008.10.07 16:01:46  2008.10.07 23:01:46

43、RowIdToChar(rowid)

说明:将rowid转换成字符

例:RowIdToChar('AAAAfKAACAAAAEqAAA') 结果为 AAAAfKAACAAAAEqAAA

44、CharToRowId(char)

说明:将字符转换成rowid

例:CharToRowId(‘AAAAfKAACAAAAEqAAA’) 结果为 AAAAfKAACAAAAEqAAA

45、Convert(c,dset,sset)

说明:将原字符串c由原字符集sset转到目标字符集dset

例:Convert('Eleven.Xu 徐','we8hp','f7dec') 结果为 Eleven.Xu e>

46、HexToRaw(arg)

说明:将arg从16进制转换成为raw类型数据

例:HexToRaw(‘123’) 结果为 0123

47、RawToHex(arg)

说明:将arg从raw类型数据转成为16进制数据

例:RawToHex(‘0123’) 结果为 30313233

48、To_Multi_Byte(arg)

说明:将arg从单字节字符转换成为多字节字符

例:To_Multi_Byte(‘hello’) 结果为hello

49、User

说明:返回当前用户用户名

例:SELECT User FROM DUAL 结果为 APPS

50、UID

说明:用户的唯一标识

例:SELECT du.username, du.user_id

FROM dba_users du

WHERE du.username = (SELECT User FROM DUAL);

51、Soundex

说明:返回一个与给定字符串相同读音的字符串

例:略

52、Userenv(arg)

说明:若arg为 ‘isdba’,表示判断当前用户是否为DBA

若arg为 ‘sessionid’,表示判断当前sessionid

若arg为 ‘entryid’,表示会话人口id

若arg为 ‘instance’,表示当前instance标志

若arg为 ‘language’,表示当前环境语言

若arg为 ‘lang’,表示当前环境语言缩写

若arg为 ‘terminal’,表示当前终端或机器的标志

例:Userenv('isdba') 结果为 FALSE

Userenv('sessionid') 结果为 1416799

Userenv('entryid') 结果为 0

Userenv('instance') 结果为 1

Userenv('language') 结果为 SIMPLIFIED CHINESE_CHINA.UTF8

Userenv('lang') 结果为 ZHS

Userenv('terminal') 结果为 HAND-ELEVEN

53、VSize(arg)

说明:返回arg的字节数

例:VSize(‘1234’) 结果为 4

54、Decode(value,if1,then1,if2,then2,if3,then3,...,else)

说明:如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。

例:SELECT Decode(Sign(10-11),-1,10,11) FROM DUAL;(取最较小值)结果为 10

55、Trunc(arg1,arg2)

说明:根据arg2规定的精度截取arg1

例:SELECT Trunc(111.112233,2) FROM DUAL;   结果为 111.11

SELECT Trunc(111.112233,-2) FROM DUAL;  结果为 100

56、Round(arg1,arg2)

说明:根据arg2规定的精度对arg1按四舍五入进行截取

例:SELECT Round(111.41,1) FROM DUAL;  结果为 111.4

SELECT Round(111.45,1) FROM DUAL;  结果为 111.5

57、BFileName(dir,fullfilename)

说明:指定外部dir目录下的fullfilename文件,在Insert语句中使用较多

注:红色表示最常用的函数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值