Oracle 常用SQL函数

oracle|函数

时间:2005-02-18
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,返回expr2NVL2 (expr1, expr2, expr3)    如果expr1为非空,则返回expr2,如果expr1为NULL,则返回expr3NULLIF (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)

作者Blog: <http://blog.csdn.net/blueboy2000/>相关文章Oracle 常用SQL函数  

时间: 2024-10-28 18:49:22

Oracle 常用SQL函数的相关文章

Oracle常用sql语句

Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象 一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --) SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要

Sybase ASA中查询元信息的几个常用SQL函数

Sybase ASA中查询元信息的几个常用SQL函数: sp_column_privileges Unsupported sp_columns table-name [, table-owner ] [, table-qualifier] [, column-name] 返回指定列的数据类型 sp_databases Unsupported sp_datatype_info Unsupported sp_fkeys pktable_name [, pktable-owner][, pktable

oracle常用sql语句_oracle

正在看的ORACLE教程是:oracle常用sql语句.SQL*Plus system/manager 2.显示当前连接用户 SQL> show user 3.查看系统拥有哪些用户 SQL> select * from all_users; 4.新建用户并授权 SQL> create user a identified by a;(默认建在SYSTEM表空间下) SQL> grant connect,resource to a; 5.连接到新用户 SQL> conn a/a

Oracle常用sql语句(二)之组函数、多表查询

DML(数据操纵语言) INSERT .UPDATE. DELETE 插入操作:INSERT: 语法: INSERT INTO 表名(列名1,列名2 -)VALUES(列值1,列值2-); 注意:列名与列值的类型.个数.顺序要一一对应. 可以把列名当做java中的形参,把列值当做实参. 值不要超出列定义的长度. 如果插入空值,请使用null 插入的日期和字符一样,都使用引号括起来. 修改操作 UPDATE: 语法:UPDATE 表名 SET 列名1=列值1,列名2=列值2 --.. WHERE

Oracle常用sql语句(一)

Sql的分类 DDL操作数据库表列等 表基本的操作 主键 索引 视图 常用数据类型 字符串类型 数字类型 日期类型 LOB类型 LONG类型 数据转换 character date numbercharacter 通用函数 条件表达式 Sql的分类 DDL (Data Definition Language):数据定义语言,用来定义数据库对象:库.表.列等: CREATE. ALTER.DROP DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数

oracle常用sql查询语句部分集合(图文)_oracle

Oracle查询语句 select * from scott.emp ; 1.--dense_rank()分析函数(查找每个部门工资最高前三名员工信息) select * from (select deptno,ename,sal,dense_rank() over(partition by deptno order by sal desc) a from scott.emp) where a<=3 order by deptno asc,sal desc ; 结果: --rank()分析函数(

Oracle常用日期函数处理方法介绍

日期型字段:sqlserver日期型字段格式同字符型字段格式,即在其上加单引号,oracle日期型字段格式有所不同,感觉挺罗嗦的,其只有两种处理方式: a:在其值上加单引号.且年.月.日.时.分的排列次序格式必须与oracle当前的日期型数据格式相一致(oracle中文版日期型数据默认格式为:dd-Mon-yyyy,如27-6月-07). 例: insert intoDATA_HIS20070710(TAGINDEX,TAGVAL,TAGTIME)values('10LBD10FT001',12

oracle常用sql语法集合

一.数据控制语句(DML)部分 1.insert (往数据表里插入记录的语句) insert INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); insert INTO 表名(字段名1, 字段名2, --) select (字段名1, 字段名2, --) FROM 另外的表 名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号'. 字符串类型的字段值超过定义的长

Oracle常用sql语句(三)之子查询

子查询 子查询要解决的问题,不能一步求解 分为: - 单行子查询 - 多行子查询 语法: SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM table); 子查询(内查询)在住查询之前一次执行完成 子查询的记过被主查询使用(外查询) 注意: 1.括号 2.合理的书写风格 3.可以在住查询的 WHERE SELECT HAVING FROM 后面使用子查询 4.不可以在GROUP BY 后面使用 5