oracle10g 基础以及SQL函数使用方法

    技术2024-07-25  14

        sql语言基础 1.结构化语言分类: DDL 数据定义语言包括:create alter drop DCL数据控制语言包括:grant revoke DML数据操作语言包括:select insert delete update 给用户授权 grant select on dept to panpan; 收回权限 revoke select on dept from panapn; 将abc表中b字段的所有值修改成ttt   update abc set b ='ttt' 修改指定条记录 update abc set b ='yyy' where a = 'abc' 删除数据 delete from abc where a='abc' 2.常用系统函数 <1>字符函数 length ltrim replace rtrim substr trim     1.查询有字符个数 select length('abc好') from dual  结果是4     2.查询有字节个数 select lengthb('abc好') from dual 结果是5     3.去掉右边空格函数ltrim 去掉左边空格用rtrim 去掉左边和右边的空格用trim              例如:select length(ltrim('  abc好'))from dual 结果为4         oracle中如果字段长度如果定制固定了,那么如果数据内容不够则用空字符来填充,那么数据查询的时候有些数据会有空格存在     4.取字符串select substr('abcdefg'2,3)from dual 从第二个开始取,取三个。       oracle不支持左取字符串和右取字符串但有办法变通,左取字符串函数直接用substr,从右边开始取从第三个开始取如:           select substr('abcdef',length('abcdef')-3+1,3) from dual <2>日期函数 Sysdate next_day         1.取数据库当前时间:select sysdate from dual;     2.取数据库当前时间:select current_date from dual;     3.设置时间显示格式:alter session set nls_date_format='dd-mon-yyyy hh-mi:ss'     4.查询下个星期三的时间:select next_day(sysdate,'星期三') from dual;         <3>转换函数 To_char to_date to_number         1.把日期型转换成字符型并且设置格式:select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual     2.字符转换成日期型:select to_date('12-3月-11') from dual;     3.把字符转换成整型(字符必须是数字或者数值或日期才可以转换):select to_number('00333') from dual; <4>聚集函数Sum avg max min count     select sum(字段) from dual; 求和     select avg(字段)from dual;求平均     select max(字段) from dual; 查最大的     select min(字段) from dual;查最小的     select count(字段)from dual;查询多少行      <5>其他 user decode nvl         1.select user from dual; 查询当前用户     2.select sum(decode(sex,'男',1,0)) ,sum(decode(sex,'女',1,0)) from tablename; decode其实是一个布尔型的判断函数。     3.select nvl(字段,'未输入') from tablename;如果字段有空值的将显示未输入     3.一个语法:如果要查询字段为空的应该写成 select 字段 from table where is null; 不为空可以使 is not null;       不能写成select 字段 from table where 字段=null;语法是正确的,但是数据库不支持。     4.一个字段有重复的数据如果只让他显示不重复的可以:select distinct 字段 from table;

    最新回复(0)