zoukankan      html  css  js  c++  java
  • oracle学习笔记命令和函数

     以下是我这几天学习oracle的笔记,有些凌乱,整理出来,也算是个复习

    命令符

    使用格式

    说明

    示例

    Desc

    Desc 表名

    显示表结构

    Desc bk_bookinfo

    Set line

    Set line n

    将屏幕的输出置为n个字符宽

    Set line 100

    L

    L

    显示sql缓冲区的内容

    L

    N

    N text

    N为在SQL缓冲区的语句行号

    Text为替代出错的sql语句

    2 from studentinfo

    /

    /

    运行sql缓冲区的语句

    /

    n

    n

    把缓冲区第n行作为当前行

    3

    A

    A text

    text 增加到当前sql缓冲区后

    A ,bookname

    del

    Del (n)

    删除缓冲区第n行,无参数则删除当前行

    Del 4

    c

    C /原文/新的正文

    修改缓冲区中的sql语句

    注意先用 n命令定位到当前行

    C /tmp/dept

    save

    Save filepath

    sql缓冲区语句存入指定文件

    Save c:\1.sql

    Get

    get filepath

    将脚本文件装载到sql缓冲区

    Get c:\1.sql

    Edit

    Edit (filepath)

    编辑脚本文件(缓冲区sql语句)

    Edit edit c:\1.sql

    @

    @ filepath

    直接运行脚本文件

    @ c:\1.sql

    1.导出oracle数据

     新建c:\test.sql 键入

       Set line 120

    Set pagesize 10000

    Set heading off

    Spool c:\data.txt

    Select bookID||’,’||bookname from bb_bookinfo;

    Spool off

     sql> @ c:\test.sql

    2.自动化导出数据

     新建 c:\auto.bat 键入

     Sqlplus /nolog @ 1.sql

     Exit

     注意这里sqlplus@命令必须在一行,我第一次没有执行找了半天,问题就出现在此

     C:\1.sql

     Set termout off

     connect scott/tiger@orcl-89

    set line 120

    set pagesize 1000

    set heading off

    set feedback off

    spool c:\data.txt

    select bookID||','||name from bk_bookinfo where rownum<100;

    spool off

    exit

     

    函数名

    用法

    说明

    示例

    lower

    Lower(列名|表达式)

    把字符转换成小写

    Lower(‘THIS IS’)

    Upper

    Upper (列名|表达式)

    把字符转换成大写

    Upper(‘this is’)

    Initcap

    Initcap (列名|表达式)

    把每个字头一个字母大写

    Initcap(‘this is test’)

    concat

    Concat(列名|表达式. 列名|表达式)

    把第一个字符串和第二个字符串链接

    Concat(‘a’,’b’)

    substr

    Substr(列名|表达式,m,[n])

    返回指定字符

    Substr(‘abc’,3,1)
    结果是c

    Instr

    Instr(列名|字符串,’字符串’,[m],[n])

    返回所给字符串的数字位
    m 从第m个字符搜索 n 出现的次数mn默认为1

    Instr(‘abcd’,’A’)

    返回0
    instr(‘abcd’,’b’)

    返回2
    说明字符串区分大小写

    Length
    注意无缩写len

    Length(列名| 字符串)

    返回表达式字符长度

    Length(‘aabcde’)

    ltrim

    Ltrim(列名| 字符串)

    去掉表达式左侧空格

    Ltrim(‘ aaa’)

    rtrim

    Rtrim(列名|字符串)

    去掉表达式右侧空格

    Rtrim(‘aaa ’)

    trim

    Trim(列名|表达式)

    去掉表达式两侧空格

    Trim(‘ aaa ’)

    Trim([leading|trailing|both]要去掉的字符 from 源字符串)

    去掉表达式中的指定字符

    Trim(‘?’ from ‘?aa?’) 结果aa

    Trim(leading ‘?’ from ‘?aa?’); aa?
    trim(trailing ‘?’ from ‘?aa?’); ?aa

    round

    Round(列名|表达式,n)

    将表达式的数值四舍五入到小数点n

    Round(168.88,1)

    trunc

    Trunc(列名|表达式,n)

    将表达式的数值截取到小数点后n

    Trunk(168.88,1)

    mod

    Mod(m,n)

    m/n后的余数

    Mod(6/7)

     

    日期函数:

    to_date(列名|字符串,[格式]

    格式说明:
            Year:     
            yy two digits
    两位年                显示值:07
            yyy three digits
    三位年                显示值:007
            yyyy four digits
    四位年                显示值:2007
               
            Month:     
            mm    number    
    两位月              显示值:11
            mon    abbreviated
    字符集表示        显示值:11,若是英文版,显示nov    
            month spelled out
    字符集表示       显示值:11,若是英文版,显示november
             
            Day:     
            dd    number        
    当月第几天        显示值:02
            ddd    number        
    当年第几天        显示值:02
            dy    abbreviated
    当周第几天简写    显示值:星期五,若是英文版,显示fri
            day    spelled out  
    当周第几天全写 显示值:星期五,若是英文版,显示friday       
                
             Hour:
                  hh    two digits 12
    小时进制            显示值:01
                  hh24 two digits 24
    小时进制            显示值:13
                 
            Minute:
                  mi    two digits 60
    进制                显示值:45
                 
                  Second:
                  ss    two digits 60
    进制                显示值:25
                 
                 
    其它
                  Q     digit        
    季度                  显示值:4
                  WW    digit        
    当年第几周            显示值:44
                  W    digit         
    当月第几周            显示值:1

    1. 日期和字符转换函数用法(to_date,to_char

    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;   //日期转化为字符串  

    select to_char(sysdate,'yyyy') as nowYear   from dual;   //获取时间的年  

    select to_char(sysdate,'mm')    as nowMonth from dual;   //获取时间的月  

    select to_char(sysdate,'dd')    as nowDay    from dual;   //获取时间的日  

    select to_char(sysdate,'hh24') as nowHour   from dual;   //获取时间的时  

    select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分  

    select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒

       

    select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')    from dual

    2求某天是星期几

    select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;     

       星期一

    3查找月份。

    select months_between(to_date('01-31-1999','MM-DD-YYYY'),to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;     

    1

    2Months_between(日期1,日期2)

       返回日期1和日期2之间的月数

       select months_between(

            to_date('2010-2-1','yyyy-mm-dd'),

            to_date('2010-3-1','yyyy-mm-dd')

            ) from dual;

     结果:-1

    3.Add_months(日期,n)

       把n个月加到日期上

    select add_months(sysdate,'1') from dual;

    结果:2010-9-24 15:53:12

    4.Next_day(日期,字符串)

    返回下一个由字符串(星期几)指定的日期

    select next_day(to_date('2010-2-1','yyyy-mm-dd'),'星期一') from dual;

    结果:2010-2-8

    注意:因为安装时中文的oracle 所以这里要用星期一

    5Last_day(日期)

     返回该日期所在月份的最后一天

     select last_day(to_date('2010-2-1','yyyy-mm-dd')) from dual;

     结果:2010-2-28

    6、to_char(日期,格式)

    格式:

       Yyyy:完整的年份

       Year:年份的英文表示

    MM:两位数表示月份

    Month:月份完整的英文表示

    Dy:用3个英文字符缩写表示星期几

    Day: 星期几的完整英文表示

    DD:几号的数字表示

    select to_char(to_date('2010-2-1','yyyy-mm-dd'),'dy') from dual;

    结果:星期一

    select to_char(to_date('2010-2-1','yyyy-mm-dd'),'yyyy') from dual;

    结果:2010

       select to_char(to_date('2010-2-1','yyyy-mm-dd'),'year') from dual;

       结果:twenty ten

       select to_char(to_date('2010-2-1','yyyy-mm-dd'),'month') from dual;

       结果:2

      

    7To_char(数字,格式)

     格式:

       9:一位数字

       0:显示前导零

       $:显示美元符号

    L: 显示本地货币符号

    .:显示小数点

    ,:显示千位符

    MI: 在数的右边显示减号

    PR:把复数用尖括号括起来

    select to_char(20,9) from dual;

    结果:##

    select to_char(2,9) from dual;

    结果:2

    select to_char(3434,9999.99) from dual;

    结果:3434.00

    select to_char(3434,9999.90) from dual;

    结果:3434.0

    select to_char(03434,'L99999.00') from dual;

    结果:          3434.00

    select to_char(03434,'L09999.00') from dual;

    结果:         03434.00

    select to_char(123,'009') from dual;

    结果:123

    select to_char(123,'00999') from dual;

    结果:00123

    select to_char(-123,'999PR') from dual;

    结果:<123>

    select to_char(-123,'999MI') from dual;

    结果:123-

    8To_number(字符串)

     

     

  • 相关阅读:
    tomcat 启动超时
    读书笔记-String
    读书笔记-集合
    读书笔记-算法
    多变量梯度下降
    多变量线性回归
    梯度下降算法在线性回归中的运用
    梯度下降
    线性回归——代价函数
    线性回归
  • 原文地址:https://www.cnblogs.com/tippoint/p/1807402.html
Copyright © 2011-2022 走看看