oracle 小记函数,oracle 相关函数小记

Oracle的SQL函数分为单行函数和多行函数。单行函数只对单条记录有效,多行函数对多条记录有效。

单行函数包括,字符、数字、日期、转换和普通函数。

字符函数举例:

全小写  LOWER('SQL Course')      sql course

全大写 UPPER('SQL Course')        SQL COURSE

首字母大写 INITCAP('SQL Course')    Sql Course

拼接 CONCAT('Good', 'String')      GoodString

取子串  SUBSTR('String',1,3)        Str

求长度   LENGTH('String')       6

数字函数举例:

ROUND -- 对数值进行四舍五入操作

TRUNC -- 截断。注意截断和舍入的位数,可以是负数。

ROUND (45.923, 2)        45.92

ROUND (45.923, 0)        46

ROUND (45.923, -1)       50

TRUNC (45.923, 2)        45.92

TRUNC (45.923)         45

TRUNC (45.923, -1)       40

MOD -- 返回两数相除的余数

MOD(1600, 300) --      100

日期函数:

Oracle将日期按照内部格式将日期存成以下七个字节–世纪、年、月、日、时、分、秒。在Oracle中日期缺省的显示格式为:DD - MON - YY 。

可以使用系统变量  SYSDATE 获取系统时间。查看 SYSDATE时,可以使用虚拟表DUAL。

举例:

求两个日期间有多少个月份     MONTHS_BETWEEN('01-SEP-95','11-JAN-94')            1.9774194

在日期上加指定的月数          ADD_MONTHS('11-JAN-94',6)                               '11-JUL-94'

下一个星期几是什么时候       NEXT_DAY('01-SEP-95','FRIDAY')                          '08-SEP-95'

某月最后一天                  LAST_DAY('01-SEP-95')                                   '30-SEP-95'

把日期四舍五入到月份          ROUND('25-MAY-95','MONTH')                              01-JUN-95

ROUND('25-MAY-95 ','YEAR')                              01-JAN-95

把日期截断到月份              TRUNC('25-MAY-95 ','MONTH')                             01-MAY-95

TRUNC('25-MAY-95 ','YEAR')                              01-JAN-95

转换函数

TO_CHAR 将数字或日期转换为字符串

TO_NUMBER 将字符串转换成数字

TO_DATE 将字符串转换成日期

在转换函数中会使用格式串

TO_CHAR(date, 'fmt')

格式串包含在''中, 大小写敏感, 可以是任意有效的日期

格式

格式串:

YYYY 表示完整的四位数字年

YEAR 表示英文拼写的年

MM 表示两位数字月

MONTH 表示英文全拼的年

DY 表示三位缩写的星期

DAY 表示英文全拼的星期

一些特殊用法:

时间格式

HH24:MI:SS AM  15:45:32 PM

在格式串中加入字符串

DD " of " MONTH  12 of OCTOBER

用后缀拼出整个日期

ddspth  fourteenth

TO_CHAR(number, 'fmt')

使用此函数将数字转换成数字

9  表示数字

0  强制为0

$  设置美元符号

L  使用当前字符集的货币符号

.  小数点

,  千位分隔符

可以使用TO_NUMBER将字符串转换成数字

可以使用TO_DATE将字符串转换成格式日期

TO_DATE ('10 September 1992', 'dd Month YYYY')

使用格式串

TO_DATE(char  [, 'fmt'])

普通函数

NULL值处理函数

NVL (expr1, expr2)

如果expr1为NULL,返回expr2

NVL2 (expr1, expr2, expr3)

如果expr1为非空,则返回expr2,如果expr1为NULL,则返回expr3

NULLIF (expr1, expr2)

如果expr1=expr2,返回NULL,否则返回expr1

COALESCE (expr1, expr2, ..., exprn)

返回表达式列表中的第一个非空表达式

条件表达式,用case表达式或decode实现条件逻辑

CASE表达式

CASE expr WHEN comparison_expr1 THEN return_expr1

[WHEN comparison_expr2 THEN return_expr2

WHEN comparison_exprn THEN return_exprn

ELSE else_expr]

END

decode函数

DECODE(col|expression, search1, result1

[, search2,result2,...,]

[, default])

分组函数:

AVG (DISTINCT|ALL|n)

COUNT (DISTINCT|ALL|expr|*)

MAX (DISTINCT|ALL|expr)

MIN (DISTINCT|ALL|expr)

STDDEV (DISTINCT|ALL|n)

SUM (DISTINCT|ALL|n)

VARIANCE (DISTINCT|ALL|n)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值