精华内容
下载资源
问答
  • orcle

    2018-11-30 13:43:10
    ORCLE:                                                           ORCLE数据库源: ...
    ORCLE:                            
                                 
    ORCLE数据库源: 司机: oracle.jdbc.OracleDriver 简单查询: select *列名(别名)from表名/ *注释* /去重(distinct)
      网址: jdbc.oracle:thin:@localhost:1521:orcl 连接查询: 选择'员工编号是' || EMPNO || '姓名是' ||为ename
      用户名:              
      密码:           限定查询: select * from emp  其中 sal> 1500且conn not为null
                    select * from emp其中sal> = 1500且sal <= 3000
    命令常用操作: 1.登录 运行CMD进入命令行   select * from emp其中sal  1500  和  3000 之间 
        sqlplus用户名/密码as sysdba select * from emp where to getate in to_date('1981-1-1','yyyy-MM-dd')and
                  TO_DATE( '1981年1月1日', 'YYYY-MM-DD')   
      SYS / SYS 斯科特/老虎                        
                  select * from emp where ename ='SMITH'sql语句不区分大小写,表中的值是区分
      2.查看 显示用户                        
                  select * from emp where empno in(7369,7499,7521)(不在取反<>!=)
      3.切换 conn用户名/密码as sysdba                
                  select * from emp where ename  like'_M%'   (第二个字符是M的员工)
    VARCHAR2 把空串当空处理                
    号(7,2) 总长度7,整数位5,小数位2 结果集排序: select by from emp order by sal(默认正序asc,从高到低。倒序:desc)
            四则运算* / + -     选择*来自emp命令由sal desc,hiredate asc;
                                 
                                 
    单行函数: 上('') 降低('') INITCAP( '') concat('','')   通用函数: NVL(COMM,0) 解码(1, '1', '输出1', '2', '输出2')
    来自dual() 大写转换 小写转换 首字大写 连接       COMM为空则用零代替 如果别的()      
    伪表(获取值)                   1当然输出1其他无止境的情况
      长度('') 替换('hx','x','l') SUBSTR( '你好',1,3)   多表查询: select * from emp e,dept d,其中e.deptno = d.deptno
      长度 查询输出hl 索引从1开始                  
                  外连接: (能保留一张表的数据是全量,即使这张表没有关联也会被查全)
    SYSDATE MOD(10,3) ROUND(12.112,2) TRUNC(12.87)   select * from emp e,dept d where e.deptno=d.deptno(+) (在右边就是右连接)
    当前时期 取余 输出1 四舍五入 输出 12.11 切去小数 输出 12                  
                  select1999: 1.交叉连接: cross join 会产生笛卡尔积  
    日期函数: select ename trunc(sysdate - hirdate)/7 from emp (查询入职周数) (了解) 2.自然连接: natural join 自动按列名相等连接  
      select ename trunc(months_between(sysdate - hirdate)/7) from emp    3.using子句 select * from emp join dept using (deptno)
                    4.on子句 select * from emp e join dept d on e.d=d.d
    当前日期加 select add_months(sysdate,-12) from dual       select * from emp e left join dept d on e.d=d.d
    下个星期日的日期 select next_day(sysdate,'星期日') from dual                
    本月最后一天 select last_day(sysdate) from dual 分组函数: count() min() max() avg() sum()    
                    统计 最低 最大 平均 求和    
    转换函数: to_char   年:y yyyy 时:HH                  
      字符串转换函数 月:m mm 分:mi   分组统计: group by 排序前 前面的查出的名称必须后面有分组
      to_char(sal,'$99,999') 日:d dd 秒:ss   后面有的列前面才能有,后面没有前面绝对不能有
      分隔             having 分组后          
    select ename ,to_char(hiredate,'yyyy')  年,to_char(hiredate,'mm') 月 ,                  
                  to_char(hiredate,'dd') 日 ,to_char(hiredate,'HH') 时,   子查询: 查询结果可以被当成表或单个数据使用    
                  to_char(hiredate,'mi')  分,to_char(hiredate,'ss') 秒 ,                  
    from  emp;             exists union 合并时不去重,列名可以不一致,列数一致    
                  存在则为真 并集            
    select to_char(sysdate,'yyyy-mm-dd HH24:mi:ss') from dual;                  
    select ename, to_char(hiredate,'fmyyyy-mm-dd ') from dual;   增删改:              
                  insert into 表名(列名,...)[可以不写] vlues(,...)    
    字符串转数值 to_number   '10' 输出10       update 表名 set 表名.列名=    where 条件    
    字符串转时间 to_date ('1985-04-22 12:30:20','yyyy-mm-dd HH24:mi:ss') dalete from 表名 where 条件[oracle可以不写from,mydql不行]    
                                 
                                 
    事务处理: 增删改都要开启事务,提交后数据才真正变更,提交前才能回滚。   rownum: 列名 (通过这个来分页,只能设置<,不支持>)    
      commit rollback         rownum小于结束行号,把rownum作为结果集    
      提交 回滚         select * from(select rownum rw,a.* from(select * from emp) a where  
      修改时事务处于挂起状态,这条数据被锁住。   rownum<6) b where b.rw>0  (分页)  
                  starNum =(pageNo-1)*pageSize   endNum=pageNo*pageSize+1  
    建表: create table 表名( 列名  属性(大小),...)                  
    删表: drop table 表名   创建视图: create or replace view 视图名称 as 子查询    
    添加列: alter table 表名 add[modify 修改](列名 属性(大小), ...)   修改视图会修改表的数据,不建议修改(+with read only 只读)    
    截断表: truncate table 表名 (直接删除,谨慎使用)                    
                  序列: 不绑定某一张表,任何表都可以使用。插入一次自增一次      
    约束: 主键约束 primary key 加载属性后         select sequersonid.nextval from dual  
      非空唯一             查询序列的下一个值(重点)      
    自定义主键名称: constraint 表名_列名_pk primary key(列名)     select sequersonid.currval from dual  
    非空约束: not null 唯一约束: unique         查看当前值是多少        
    自定义唯一约束: constraint 表名_列名_uk primary key(列名)   创键序列:create sequence 序列名  
    检查约束: check (列名 in(1,2))                  
    自定义检查约束: constraint 表名_列名_ck primary key(列名 in(1,2))   索引: create index pname_index on person(pname); 大表才建
    外键约束: (删父表数据必须先删子表,删表也必须先删子表)     创建单例索引        层次<4
    constraint 表名_列名_fk foreign key(列名) references 另张表名(列名)     create index pg_index on person(pname,gender);  
    强制删除表: drop table 表名 cascade constraint  (不建议这样删除)     创建复合索引(使用时有顺序,相反时不调用索引)  
    设置后删父子表一并(级联)删除: references 表名(列名) on delete cascade   select * from person t where t.pname= and t.gender=; 使用索引
                                 
                                 
    pl/sql程序语法: declare:           if分支:              
    into 赋值   说明部分 (变量说明,游标申明,例外说明)   1' declarce: pno number(4):=&num;  
    := 赋值 begin:             begin if pno <5 then  
        语句序列 (DML语句)           dbms_output.put_line('编号小于5');  
      exception:               end if;  
        例外处理语句         exception            
      end;             end;            
    基本数据类型:             2' declarce: pno number(4):=&num;  
    declarce: pname varchar2(10) ; age number(3):=20;     begin if pno =1 then  
    begin:    pname:='zs';dbms_output.put_line('hello world');       dbms_output.put_line('我是1');  
    exception                 else   
    end;                 dbms_output.put_line('我不是1');  
    引用数据类型:                 end if;          
    declarce: Myname emp.ename%type;     exception            
    begin: select t.name into pname from myemp t where t.empno=7369;     end;            
      dbms_output.put_line(pname);(打印)   3' declarce pno number(4):=&num;  
    exception               begin if pno =1 then  
    end;                 dbms_output.put_line('我是1');  
    记录类型变量: 对应java中的对象类型         elseif pno=2 then    
    declarce: Myname emp.ename%rowtype;       dbms_output.put_line('我是2');  
    begin: select t.name into prc from myemp t where t.empno=7369;       else dbms_output.put_line('其他');  
      dbms_output.put_line(prc.ename|| ''||prc.sal);       end if;          
    exception               exception            
    end;               end;            
                                 
    loop循环:   游标Cursor: cursor 游标名 [(参数名 数据类型,...)] is select 语句  
      declarce total number(4):=0; 例如: cursor c1 is select ename from emp;  
    1' begin while total<25000 loop   打开游标: open c1;(打开游标查询)  
      ... 会向下移动 取一行游标的值: fetch c1 into pjob;(取一行到变量中)  
      total :=total +salary;   关闭游标: close c1;(关闭游标释放资源)  
      dbms_output.put_line(total);   游标结束方式 : exit when c1%notfound  
      end  loop             注意:上面的pjob必须与emp表中的job列类型一致  
      end;             定义:pjob emp.empjob%type;  
                  带有参数游标 declarce   
    2' begin loop   cursor c1(dno myemp.deptno%type) is   
    常用 exit when total =100;      select * from myemp t where t.deptno=dno;  
      tatal:=total+1;dbms_output.put_line(total);   prec myemp%rowtype;  
      end  loop;   begin  open c1(10);     loop  fetch c1 into prec;  
                    exit when c1%notfound;  
    3’begin for total in 1..100 loop   update myemp t set t.sal=t.sal+1000 where t.empno=  
    适合连续数值遍历 dbms_output.put_line(total);     prec.empno;   end loop;  close c1;   
      end  loop;   commit; end;  
                                 
    例外:     存储过程: create [or replace] procedure   过程名   [(参数名 in/out  
    对应java异常 no_data_found (没有找到数据)   创建 数据类型)]     as begin     PLSQL子程序体;     end;            
      too_many_rows(select ...into语句匹配多个行)   对应java类 create [or replace] procedure   helloword  as  begin  
      zero_divide (被零除)     dbms_ouput.put_line('hello world');   end;  
      value_error (算术或转换错误)                  
      timeout_on_resource (在等待资源时发生超时)   create or replace procedure addsal(pno in myemp.empno%type)  as  
    declarce pnum number;   prec myemp%rowtype;    
    begin pnum :=1/0; 发生异常   begin  select * into prec from myemp t where t empno=pno;  
    exception when zero_divide then  捕捉异常   dbms_output.put_line('涨前工资是'||prec.sal||'涨工资后是:'||  
      dbms_output.put_line('被0除');    (prec.sal+100));       end; (带输入参数的存储过程)  
    end;             事务的提交要在调用端做  
    自定义例外: declarce prec emp%rowtype; cursor c1 is    create or replace procedure addsal(pno in emp.empno%type,ysal out   
      select * from emp t where t.deptno=50;   number)              psal  emp.sal%type;   pcomm  emp.comm%type;  
      no_data exception;(自定义)   begin  select t.sal ,t.comm into psal,pcomm from emp t where   
      begin open c1 ;loop fecth c1 into prec;   t.empno=pno;        ysal:=psal*12+nvl(pcomm,0);     end countYSal;  
      if c1%notfound then rasie no_data;(抛出异常)   (既有输出又有输入的存储过程)  
      end if; end loop; close c1;                   
      exception  when no_data then   用pl/sql调用: declare ysal number; begin countdsal(7369,ysal);  
      dbms_output.put_line('没有员工');    when others then   dbms_output.put_line(ysal);     end;   (把对应7369的值给ysal)  
      DBMS_OUTPUT.PUT_LINE( '其他异常'); 结束;   [可以在数据库的程序直接创建模版](过程跟函数建议使用过程)  
                                 
    存储函数: 创建或替换funtion函数名(名称类型,名称                  
      in type)return数据类型是结果变量数据类型;                   
      begin return(结果变量); 结束函数名;                  
      (函数有返回值,过程没有,但过程可以从多个参数值)                  
    创建或替换函数countysalf(emp.empno%type中的pno)返回编号是
      结果编号;
      psal emp.sal%type;
      pcomm emp.comm%type;
    开始
      选择t.sal,t.comm为psal,pcomm来自emp t,其中t.empno = pno;
     结果:= psal * 12 + nvl(pcomm,0);
     返回(结果);
    结束countysalf;
                     
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
                       
    程序体调用过程                            
    以及函数:                            
    展开全文
  • Orcle

    2019-10-24 11:48:24
    public class Repository { [DataMember(Name = "name")] public string Name { get; set; } [DataMember(Name = "description")] public Uri Description { get; set; } [DataMember(Name = "h...
    public class Repository
    {
        [DataMember(Name = "name")]
        public string Name { get; set; }
        [DataMember(Name = "description")]
        public Uri Description { get; set; }
        [DataMember(Name = "html_url")]
        public string GitHubHomeUrl { get; set; }
        [DataMember(Name = "homepage")]
        public Uri Homepage { get; set; }
        [DataMember(Name = "watchers")]
        public string Watchers { get; set; }
        [DataMember(Name = "pushed_at")]
        public string JsonDate { get; set; }
        [IgnoreDataMember]
        public DateTime LastPush
        {
            get
            {
                return DateTime.ParseExact(JsonDate, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture);
            }
        }
    }
    
    展开全文
  • ORCLE

    千次阅读 2017-12-22 09:19:17
    SQL中,计算2.5的2次方 1、power(2.5,2)=6.5 相同于2.5^2=6.5 2、exp(2)=7.38905609893065 相同于e^2=7.38905609893065 对数 3、ln(2)=0.6931471805599453 相同于e^0.6931471805599453=2 自然...相同于23%
    SQL中,计算2.5的2次方
    1、power(2.5,2)=6.5     相同于2.5^2=6.5


    2、exp(2)=7.38905609893065 相同于e^2=7.38905609893065  对数

    3、ln(2)=0.6931471805599453 相同于e^0.6931471805599453=2  自然对数

    4、mod(23,8)=7 相同于23%8取余等于7

    5、四舍五入,2.1相当于2,2.6相当于2
      round(5555.6666,2.1)=5555.67
      round(5555.6666,-2.6)=5600
      round(5555.6666)=5556

    6、截取:
    trunc(5555.66666,2.1)=5555.66
    trunc(5555.66666,-2.6)=5500
    trunc(5555.033333)=5555

    7、求平方根
    sqrt(64)=8     相当于8*8=64

    8、求绝对数
    abs(100)=100
    abs(-100)=100

    9、求正负值
    sign(100)=1
    sign(-100)=-1
    sign(0)=0

    10、向上取整
    ceil(3.1)=4
    ceil(2.8+1.3)=5
    ceil(0)=0

    11、向下取整
    floor(3.1)=3
    floor(2.8+1.3)=4
    floor(0)=0

    12、三角函数
    正弦:sin(x) sin(1.57079)=1
    余弦:COS(x) cos(-3.1415927)=-1
    正切:TAN(x) tan(20)=2.2371609
    双曲正弦:SIGH(x) sin(20)=0.91294525, ,sinh(20)=242582598
    双曲余弦:COSH(x) cosh(20)=242582598
    双曲正切:TANH(x) tanh(20)=1
    反正弦:ASIN(x) asin(0.5)=0.52359878
    反余弦:ACOS(x) acos(-1)=3.1415927
    反正切:ATAN(x) atan(1)=0.78539816


    13、ASCII编码
    ascii('A')=65

    14、将ASCII编码转为对应的值
    chr(54740)=赵,chr(65)='A'

    15、合并字符串
    CONCAT(c1,c2)合并c1和c2为c1c2
    concat('010-','88888888')||'转23'=010-88888888转23

    16、处理字符串首字符为大写,其他均小写
    INITCAP(c1)
    initcap('smith abc aBC')=Smith Abc Abc

    17、转换字符串为小写
    LOWER(c1)
    lower('AaBbCcDd')=aabbccdd

    18、转换字符串为大写
    UPPER(c1)
    upper('AaBbCcDd')=AABBCCDD

    19、处理字符串首字符为大写,其他均小写(可排序)
    NLS_INITCAP(x[,y])
    nls_initcap('ab cde')=Ab Cde
    nls_initcap('a c b d e','nls_sort= SCHINESE_PINYIN_M')=A C B D E  转变首位字符为大写,并且进行排序
    SCHINESE_PINYIN_M拼音排序
    SCHINESE_RADICAL_M部首排序
    SCHINESE_STROKE_M笔画排序


    20、转换字符串为小写(可排序)
    NLS_LOWER(x[,y])
    nls_LOWER('Ab cDe')=ab cde

    21、转换字符串为大写(可排序)
    NLS_UPPER(x[,y])
    NLS_UPPER('ab cde')=AB CDE

    22、在指定字符串中搜索指定子字符串
    1个汉字算1个
    INSTR(C1,C2[,I[,J]])
    C1    被搜索的字符串
    C2    希望搜索的字符串
    I     搜索的开始位置,默认为1
    J     第J次出现的位置,默认为1
    instr('oracle traning','ra',1,2)=9
    instr('重庆某软件公司','某',1,1)=3

    23、在指定字符串中搜索指定子字符串
    1个汉字算2个
    INSTRB(C1,C2[,I[,J]])
    instrb('重庆某软件公司','某',1,1)=5

    24、字符串长度
    1个汉字算1
    LENGTH(c1)
    length('高乾竞')=3

    25、字符串长度
    1个汉字算2个
    LENGTH(c1)
    lengthB('高乾竞')=6
    Length函数返回字符的个数,使用定义是给定的字符集来计算字符的个数
    LENGTHB给出该字符串的byte
    LENGTHC使用纯Unicode
    LENGTH2使用UCS2
    LENGTH4使用UCS4


    26、增长字符串长度到指定长度,不足在左边添加指定字符
    LPAD(c1,n[,c2])
    lpad('gao',10,'*')=*******gao 增长字符串gao为10位,不足在左边添加*
    lpad('gao',2,'*')=go

    26、增长字符串长度到指定长度,不足在右边添加指定字符
    RPAD(c1,n[,c2])
    RPAD('gao',10,'*')=gao******* 增长字符串gao为10位,不足在右边添加*
    RPAD('gao',2,'*')=go

    27、删除字符串左边的指定字符
    LTRIM(c1,[,c2])
    LTRIM('   gao qian jing',' ')=LTRIM('   gao qian jing')=gao qian jing

    27、删除字符串右边的指定字符
    RTRIM(c1,[,c2])
    RTRIM('   gao qian jingXXXX','X')=gao qian jing

    28、删除字符串左右两边指定字符串
    TRIM(c1 from c2)
    TRIM('X' from 'XXXgao qian jingXXXX')=gao qian jing

    29、替换字符串中指定的子字符串为指定的子字符串
    REPLACE(c1,c2[,c3])
    replace('he love you','he','i')=i love you

    30、字符串参数的语音表示形式
    SOUNDEX(c1)
    计算语音的算法: 
      1.保留字符串首字母,但删除a、e、h、i、o、w、y 
      2.将下表中的数字赋给相对应的字母 
      (1) 1:b、f、p、v 
      (2) 2:c、g、k、q、s、x、z 
      (3) 3:d、t 
      (4) 4:l 
      (5) 5:m、n 
      (6) 6:r 
    如果字符串中存在拥有相同数字的2个以上(包含2个)的字母在一起(例如b和f),或者只有h或w,则删除其他的,只保留1个 
      只返回前4个字节,不够用0填充 
      示例: 
      soundex('two'),soundex('too'),soundex('to'),他们的结果都是T000 
      soundex('cap'),soundex('cup'),他们的结果都是C100 
      soundex('house'),soundex('horse'),他们的结果都分别是H200,H620


    31、截取字符串(1个汉字算1位)
    SUBSTR(c1,n1[,n2])
    substr('13088888888',3,8)=08888888,从第3位往后截取8位

    32、截取字符串(1个汉字算2位)
    SUBSTRB(c1,n1[,n2])
    substrb('我手机13012345678',4,11)=机13012345
    substrb('我手机13012345678',3,11)=手机1301234

    33、根据指定字符串替代指定字符串中的指定内容(1个汉字算1位)
    TRANSLATE(c1,c2,c3)
    c1   希望被替换的字符或变量 
    c2   查询原始的字符集
    c3   替换新的字符集,将c2对应顺序字符,替换为c3对应顺序字符
    TRANSLATE('he love you','he','i')=i love you,,,1北京人,
    TRANSLATE('重庆的人','重庆的','上海男')=上海男人 c1和c2重复的部分为‘重庆的’,并且出现在1,2,3位置
    TRANSLATE('重庆的人','重庆的重庆','北京男士们')=北京男人 c1和c2重复的部分还是‘重庆的’,并且出现在1,2,3位置
    TRANSLATE('重庆的人','重庆的重庆','1北京男士们')=1北京人 c1和c2重复的部分还是‘重庆的’,并且出现在1,2,3位置
    TRANSLATE('重庆的人','1重庆的重庆','北京男士们')=京男士人 c1和c2重复的部分还是‘重庆的’,并且出现在2,3,4位置


    34、获取当前日期
    sysdate=2017-12-8

    35、在当前时间基础上增加3个月
    add_months(sysdate,3)=2018-3-8

    36、获取当前月的最后一天
    last_day(sysdate)=2017-12-31

    37、两个日期之间的月份数
    months_between(d1,d2)
    sysdate=2008-11-5
    months_between(sysdate,to_date('2006-01-01','YYYY-MM-DD'))=34.16
    months_between(sysdate,to_date('2016-01-01','YYYY-MM-DD'))=-85.84


    38、给出时间dt1在c1时区对应c2时区的日期和时间(不同时区的时间)
    NEW_TIME(dt1,c1,c2)
    大西洋标准时间:AST或ADT   
    阿拉斯加_夏威夷时间:HST或HDT   
    英国夏令时:BST或BDT   
    美国山区时间:MST或MDT   
    美国中央时区:CST或CDT   
    新大陆标准时间:NST   
    美国东部时间:EST或EDT   
    太平洋标准时间:PST或PDT   
    格林威治标准时间:GMT   
    Yukou标准时间:YST或YDT 
    to_char(sysdate,'yyyy.mm.dd hh24:mi:ss')=2017.12.8 11:10:55
    to_char(new_time(sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss')=2017.12.8 18:10:55


    39、给出日期d1按期间(参数c1)四舍五入后的期间的第一天日期,根据日期进行四舍五入
    round(d1[,c1])
    最近0点日期: 取消参数c1或j
    最近的星期日:day或dy或d
    最近月初日期:month或mon或mm或rm 
    最近季日期:q
    最近年初日期:syear或year或yyyy或yyy或yy或y(多个y表示精度)  
    最近世纪初日期:cc或scc
    round(sysdate) 最近0点日期,
    round(sysdate,'day') 最近星期日,
    round(sysdate,'month') 最近月初,
    round(sysdate,'q') 最近季初日期, 
    round(sysdate,'year') 最近年初日期

    40、返回指定日期节点所对应的时间
    trunc(d1[,c1])
    trunc(sysdate) 今天日期,
    trunc(sysdate,'day') 本周星期日,
    trunc(sysdate,'month') 本月初,
    trunc(sysdate,'q') 本季初日期, 
    trunc(sysdate,'year') 本年初日期

    41、给指定时间节点的日期,返回下周对应时间
    next_day(d1[,c1])
    next_day(sysdate,'星期一') 下周星期一,
    next_day(sysdate,'星期二') 下周星期二,
    next_day(sysdate,'星期三') 下周星期三,
    next_day(sysdate,'星期四') 下周星期四,
    next_day(sysdate,'星期五') 下周星期五,
    next_day(sysdate,'星期六') 下周星期六,
    next_day(sysdate,'星期日') 下周星期日

    42、返回指定时间中的指定部分
    extract(c1 from d1)
    extract(hour from timestamp '2001-2-16 2:38:40 ' ) 小时, 返回小时
    extract(minute from timestamp '2001-2-16 2:38:40 ' ) 分钟 返回分钟数
    extract(second from timestamp '2001-2-16 2:38:40 ' ) 秒 返回秒数
    extract(DAY from timestamp '2001-2-16 2:38:40 ' ) 日 返回对应天数
    extract(MONTH from timestamp '2001-2-16 2:38:40 ' ) 月 返回对应月数
    extract(YEAR from timestamp '2001-2-16 2:38:40 ' ) 年 返回对应年数


    43、获取会话中的日期和时间
    localtimestamp=14-11月-08 12.35.37.453000 上午

    44、已timestamp格式获取当前时间
    current_timestamp=14-11月-08 12.37.34.609000 上午 +08:00

    45、获取当前日期
    current_date=2008-11-14

    46、获取当前时区
    dbtimezone=:+00:00

    47、获取当前会话时区
    SESSIONTIMEZONE=+08:00


    48、变动日期
    INTERVAL c1 set1
    trunc(sysdate)+(interval '1' second), --加1秒(1/24/60/60)
    trunc(sysdate)+(interval '1' minute), --加1分钟(1/24/60)
    trunc(sysdate)+(interval '1' hour), --加1小时(1/24)
    trunc(sysdate)+(INTERVAL '1' DAY),   --加1天(1)
    trunc(sysdate)+(INTERVAL '1' MONTH), --加1月
    trunc(sysdate)+(INTERVAL '1' YEAR), --加1年
    trunc(sysdate)+(interval '01:02:03' hour to second), --加指定小时到秒
    trunc(sysdate)+(interval '01:02' minute to second), --加指定分钟到秒
    trunc(sysdate)+(interval '01:02' hour to minute), --加指定小时到分钟
    trunc(sysdate)+(interval '2 01:02' day to minute) --加指定天数到分钟


    49、将varchar2格式转化为rowid值
    chartorowid(c1)
    chartorowid('AAAADeAABAAAAZSAAA')

    50、将rowid值转化为varchar2格式
    ROWIDTOCHAR(rowid)

    51、字符串转化字符集
    将源字符串c1 从一个语言字符集set2转换到另一个目的set1字符集
    CONVERT(c1,set1,set2)
    convert('strutz','we8hp','f7dec')=strutz

    52、将16进制数转换为2进制数
    HEXTORAW(c1)
    HEXTORAW('A123')

    53、将2进制数转换为16进制
    RAWTOHEX(c1)
    RAWTOHEX('010100')

    54、将日期或数据类型转换为char类型
    TO_CHAR(x[[,c2],C3])
    x是一个date或number数据类型。
    c2为格式参数
    c3为NLS设置参数
    如果x为日期nlsparm=NLS_DATE_LANGUAGE 控制返回的月份和日份所使用的语言。
    如果x为数字nlsparm=NLS_NUMERIC_CHARACTERS 用来指定小数位和千分位的分隔符,以及货币符号。
    NLS_NUMERIC_CHARACTERS ="dg", NLS_CURRENCY="string"
    to_char(1210.73, '9999.9') 返回 '1210.7' 
    to_char(1210.73, '9,999.99') 返回 '1,210.73' 
    to_char(1210.73, '$9,999.00') 返回 '$1,210.73' 
    to_char(21, '000099') 返回 '000021' 
    to_char(852,'xxxx') 返回' 354'
    to_char(sysdate,'d') 每周第几天 
    to_char(sysdate,'dd') 每月第几天 
    to_char(sysdate,'ddd') 每年第几天 
    to_char(sysdate,'ww') 每年第几周 
    to_char(sysdate,'mm') 每年第几月 
    to_char(sysdate,'q') 每年第几季 
    to_char(sysdate,'yyyy') 年 
    to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American')=monday

    55、将字符串格式转换为日期格式
    TO_DATE(X[,c2[,c3]])
    to_date('199912','yyyymm'),
    to_date('2000.05.20','yyyy.mm.dd'),

    56、将字符串格式转换为数据格式
    TO_NUMBER(X[[,c2],c3])
    TO_NUMBER('199912')
    TO_NUMBER('450.05')


    57、将字符串中的半角转化为全角
    TO_MULTI_BYTE(c1)
    to_multi_byte('高A')=高A

    58、将字符串中的全角转换为半角
    to_single_byte(c1)
    to_single_byte('高A')=高A


    54、返回字符集名称参应id值
    nls_charset_id(c1)
    nls_charset_id('zhs16gbk')=852

    55、返回字符集名称参应id值
    nls_charset_name(n1)
    nls_charset_name(852)=zhs16gbk

    56、统计列平均数
    AVG([distinct|all]x)
    avg(sal)

    57、统计列值之和
    SUM([distinct|all]x)
    SUM(sal)

    58、统计数据表选中行x列的标准误差
    STDDEV([distinct|all]x)
    STDDEV(distinct sal)=3142.69366257674
    STDDEV(all sal)=2565.99863039714
    STDDEV(sal)=2565.99863039714

    59、统计数据表选中行x列的方差
    VARIANCE([distinct|all]x)
    VARIANCE(distinct sal)=9876523.4568
    VARIANCE(all sal)=6584348.9712
    VARIANCE(sal)=6584348.9712

    60、统计数据表选中行x列的合计值
    count(*|[distinct|all]x)
    count(*)=5
    count(xm)=4
    count(all xm)=4
    count(distinct sal)=3
    count(all sal)=5
    count(sal)=5

    61、列中最大值
    MAX([distinct|all]x)
    MAX(distinct sal)=5555.55
    MAX(xm)=zhu

    62、列中最小值
    MIN([distinct|all]x)
    MIN(distinct sal)=0
    MIN(xm)=gao

    展开全文
  • Orcle PLSQL 工具

    2018-06-08 10:49:23
    Orcle PLSQL Developer客户段连接工具,Orcle PLSQL Developer密钥获取。
  • orcle上机实验

    2016-12-16 21:25:20
    orcle上机实验
  • orcle黑马课件

    2018-08-29 17:21:46
    orcle黑马入门课件,使用 适合入门开发 讲的很细 值得
  • orcle数据库

    2011-12-29 15:32:37
    有关于orcle的一些知识 例如 如何进入web企业管理器 还有orcle的一些基础题
  • Orcle windows客户端

    2017-12-22 13:46:46
    Navicat Premium连接orcale时报ORA-28547错误,是由于ORACLE数据泵版本不对引起的,既OCI版本不对,下载好后安装就可以连接到orcle
  • Orcle分页

    2019-01-05 20:04:53
    Orcle分页 在了解orcle分页前让我们先了解一下,行号(rownum)与物理地址的概念 1.rownum行号 注意:select操作时就会执行 每出一行记录,该行就会加一个行号,行号不属于一张表.  补充:  行号必须是从1...

    Orcle分页

    在了解orcle分页前让我们先了解一下,行号(rownum)与物理地址的概念

    1.rownum行号

    注意:select操作时就会执行

    每出一行记录,该行就会加一个行号,行号不属于一张表.


      补充:
      行号必须是从1开始的,会依次递增,不会跳着做,eg:如1到5
      行号不属于任何一张表,不能用表名.rownum

     

    2.rowid 行物理地址


    行物理地址和表中的行固定绑定,永远不变


    作用:rowid行物理地址,可以在plsql中对数据进行修改

     

    Orcle分页语句

    格式:

    select * from
        (select rownum rn, tt.* from(
            --主查询
        ) tt where rownum<#{end})
    where rn>#{begin};

     

    步骤分析

     因rownum是在select时执行,如果sql后在进行分组过滤。那么行号顺序就不会显示正确的顺序
     因此我们可以在加一层查询,过滤条件放到外层查询中,这样就保证了查询出来的行号有序。
     增加起始页条件时,如果在过滤条件后继续增加条件如: and rn>5,这里要注意查询出第一条记录的时候,本来要   在该行上加上行号1可是我们要拿1去比对where后面的条件1不可能大于任何一个正数。where后面只要加了大于任何正数的条件就一定查不出任何数据。所以又对以上查询又加了一层查询,给里面的行号设置了别名。在外面添加起始页条件。

     

    展开全文
  • orcle配置开发文档

    2019-01-03 12:35:54
    orcle配置开发文档 , 小白专属
  • orcle的数据库

    2013-09-13 07:07:29
    orcle的数据库
  • orcle错误总结

    2013-04-18 13:54:47
    orcle错误总结
  • orcle时间查询

    2012-09-20 15:55:06
    orcle时间查询,orcle标准的时间查询方法
  • Orcle常用知识

    2014-08-17 13:27:26
    Orcle常用知识,查询时,非常方便。
  • sqlPluse 连接orcle工具

    2018-04-12 18:21:44
    该工具是用来连接orcle数据库的工具,其中有安装方法和配置方法,里面有详细的文档记载了如何安装,其中安装方式有好几种
  • orcle学习之路第一天

    2016-08-31 11:09:10
    orcle
  • orcle学习之路第三天

    2016-08-31 11:07:32
    orcle
  • orcle学习之路第二天

    2016-08-31 11:10:16
    orcle
  • orcle只读权限设置

    2016-01-06 16:23:24
    orcle只读权限设置.doc
  • Orcle数据保存与恢复doc,Orcle数据保存与恢复
  • Orcle数据库连接

    2013-04-10 11:11:24
    详细介绍数据库客户端创建链接步骤Orcle数据库创建连接
  • Linux下ORCLE数据库增量备份脚本 (基础篇) ,需要的朋友可以参考下。
  • orcle 基础题目

    2011-12-26 12:10:49
    orcle基本知识 知识点 以及基础题目
  • orcle数据类型

    2012-12-19 14:49:56
    orcle数据类型在教学的视频中截图而来,自身也求其教育笔记
  • ORCLE导出数据

    2020-01-09 15:05:02
    ORCLE问题 -- 方法一 exp SCF_SIT_TGT/SCF_SIT_TGT@10.20.35.117:1521/FGDBAT file=E:\data\20200108_SCF.dmp owner=SCF_SIT_TGT -- 方法二 Expdp SCF_SIT_TGT/SCF_SIT_TGT@10.20.35.117:1521/FGDBAT directory=E:\...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,751
精华内容 700
关键字:

orcle