• skills_oracle


    skills_oracle

    1 oracle的TO_CHAR()格式化数字为百分数的字符串

    TO_CHAR(-0.926903249,'FM999999990.00') || '%'
    说明:

    1. .(点号) eg. '99.99'
      点号,不要念为"句号",句号是个圆圈,点号只能出现在小数点对应的地方.只能出现一次。
    2. 0(零) eg. '0999.99'
      零,在对应位置返回对应的字符,如果没有则以'0'填充。
    3. 9(九) eg. '999.99'
      9在小数位,则表示转换为对应字符,没有对应,则不填充字符。

    2 impdp命令,将表导入到其他用户

    -- eg1. 
    impdp system/zlsoft \
    DIRECTORY=dump_dir \
    dumpfile=expdp:EXPDP_ZLHIS.DMP \
    nologfile=y \
    tables=zlhis.dept \
    remap_schema=zlhis:scott \
    remap_tablespace=ZL9BASEITEM:users,zl9indexhis:users,zl9indexmtl:users \
    table_exists_action=truncate \
    exclude=object_grant 
    
    -- eg2. 
    impdp emp/emp \
    DIRECTORY=dump_dir \
    dumpfile=EMP20200512.DMP \
    logfile=imp_jrfwz20200512.log \
    remap_schema=emp:jrfwz
    

    几个重要参数的说明一下:

    1. remap_user 重新映射用户,格式:
      source_user1:target_user1,source_user2:target_user2
    2. remap_tablespace 重新映射表空间
    3. table_exists_action 表已经存在的动作,有效关键字: (SKIP), APPEND, REPLACE 和 TRUNCATE。
    4. exclude=object_grant 跳过对象授权

    3 oracle中的一些特殊字符

    oracle通配符,运算符的使用
    用于where比较条件的有:

    • 等于:=、<、<=、>、>=、<>

    • 包含:in、not in exists、not exists

    • 范围:between...and、not between....and

    • 匹配测试:like、not like

    • Null测试:is null、is not null

    • 布尔链接:and、or、not

    • 通配符:
      在where子句中,通配符可与like条件一起使用。在Oracle中:

    • %(百分号): 用来表示任意数量的字符,或者可能根本没有字符。

    • _(下划线): 表示确切的未知字符。

    • ?(问号): 用来表示确切的未知字符。

    • #(井号): 用来表示确切的阿拉伯数字,0到9。

    • a-d:用来表示字符范围,在这里是从a到d。

    • 单引号('):在Oracle中,应该只使用单引号将文本和字符和日期括起来,不能使用引号(包括单双引号)将数字括起来。

    • 双引号("):在Oracle中,单双引号含义不同。双引号被用来将包含特定字符或者空格的列别名括起来。双引号还被用来将文本放入日期格式。

    • 撇号('):在Oracle中,撇号也可以写成彼此相邻的两个单引号。为了在供应商名字中间查找所有带撇号的供应商名字,可以这样编写代码:
      select * from l_suppliers where supplier_name like '%''%'

    • &符号:在Oracle中,&符号常用来指出一个变量。例如,&fox是一个变量,稍微有点不同的一种&&fox。每当&fox出现在Oracle脚本中时,都会要求您为它提供一个值。而使用&&fox,您只需要在&&fox第一次出现时为它提供变量值。如果想将&符号作为普通的符号使用,则应该关闭这个特性。要想关闭这个特性,可以运行以下的命令:set define off,这是一个SQLplus命令,不是一个SQL命令。SQLplus设置了SQL在Oracle中运行的环境。

    • 双竖线(||):Oracle使用双竖线表示字符串连接函数。

    • 星号():select意味着选择所有的列,count(*)意味着计算所有的行,表示通配符时,表示0个或任意多个字符。

    • 正斜杠(/):在Oracle中,用来终止SQL语句。更准确的说,是表示了“运行现在位于缓冲区的SQL代码”。正斜杠也用作分隔项。

    • 多行注释:。

    • 不等于:有多种表达方式:!=、^=、<>、notxxx=yyy、not(xxx=yyy)

    转载自: https://www.cnblogs.com/keanuyaoo/articles/3310460.html

    补充:

    1. &号,如果SELECT后的字符串中,或者WHERE子句中,有&号,则会有问题,因为&号后面跟一个变量名,Oracle会要求你手动输入一个变量值,然后再继续往下运行。

    解决方法:

    1. 用CHR函数,CHR(38)等于&号:
      SELECT 'MDL#' || CHR(38) || CHR(38) || '#20190905' FROM DUAL;
    2. 多加一个&号,用来转义:
      SELECT 'MDL#&&#20190905' FROM DUAL; 两个&号,select时,就会转义为一个&号。

    4 oracle批量修改表名

    ALTER TABLE T_EMP_ENTRY RENAME TO ENTRYS;
    SELECT 'ALTER TABLE ' || TABLE_NAME || ' RENAME TO ' FROM USER_TABLES;
    

    5 oracle的TO_CHAR()格式化数字为百分数的字符串

    TO_CHAR(-0.926903249,'FM999999990.00') || '%'

    note:

    1. (点号) :'99.99'
      点号,不要念为"句号",句号是个圆圈,点号只能出现在小数点对应的地方.只能出现一次。
    2. 0(零) '0999.99'
      零,在对应位置返回对应的字符,如果没有则以'0'填充。
    3. 9 '999.99'
      9在小数位,则表示转换为对应字符,没有对应,则不填充字符。

    6

  • 相关阅读:
    Android Hal 分析
    Android JNI 使用的数据结构JNINativeMethod详解
    MTK GPIO 一些理解
    DEVICE_ATTR
    DEVICE_ATTR
    内核驱动中常见的miscdevice、platform_device、platform_driver
    DEVICE_ATTR实例分析
    虚拟机安装Ubuntu14.04打开FireFox提示Server not found
    Android编译系统中的Kconfig,Makefile,.config编译系统浅析
    几款在线脑图制作工具
  • 原文地址:https://www.cnblogs.com/mediocreWorld/p/15184798.html
Copyright © 2020-2023  润新知