航海日志 第1篇
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)
[Access]sql随机抽取记录 [Access]ASP&SQL让select查询结果随机排序的实现方法 [系统软件]EXP-00008: ORACLE error 904 encountered的解决方… [系统软件]SQL语句性能优化--LECCO SQL Expert [常用软件]PB7 连接 Oracle 的配置方法 [C语言系列]SQL Server到DB2连接服务器的实现 [C语言系列]SQL Server到SYBASE连接服务器的实现 [C语言系列]SQL Server到SQLBASE连接服务器的实现 [C语言系列]SQL Server连接VFP数据库的实现 [C语言系列]ASP+SQL Server之图象数据处理
|