1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        Oracle中如何插入特殊字符:& 和 '(多種解決方案)

        發布時間:  2012/8/16 16:24:52

        今天在導入一批數據到Oracle時,碰到了一個問題:Toad提示要給一個自定義變量AMP賦值,一開始我很納悶,數據是一系列的Insert語句,怎么會有自定義變量呢?后來搜索了一下關鍵字AMP發現,原來是因為在插入數據中有一個字段的內容如下:

        Oracle把這里的URL的參數連接符&amp;當成是一個自定義變量了,所以要求我給變量AMP賦值。怎么辦呢?方法有三:

        -
         
        ·方法一:在要插入的SQL語句前加上Set define off;與原SQL語句一起批量執行

        我們在SQL*PLUS下執行 SQL> show all命令時,可以發現一個參數:define "&" (hex 26),如下所示

        ......

        concat "." (hex 2e)

        copycommit 0

        copytypecheck ON

        define "&" (hex 26)

        describe DEPTH 1 LINENUM OFF INDENT OFF

        echo OFF

        ......

        這個是Oracle里面用來識別自定義變量的設置,現在我們在SQL*PLUS下將其關閉:

        SQL> Set define OFF;

        然后再次執行導入腳本,OK!問題搞定。

        注意:如果是在TOAD中執行,建議在每一個要導入的腳本第一行加上前面那句關閉define的話,否則當你導入第二個含有特殊字符的腳本的時候,又會出錯。

        如果是在SQL*PLUS中執行,則只需要設置一次define OFF,后面就可以連續導入了。直到你重新設置define ON為止。

        ·方法二:在SQL語句中將'&'替換成chr(38),因為chr(38)是‘&’的ASCII碼

        SQL> Select 'Tom' || chr(38) || 'Jerry' from dual;

        ·方法三:分拆原來的字符串

        SQL> Select 'Tom' || '&' || 'Jerry' from dual;

        我們可以看到,方法一最為簡便,而且效率也最高。方法二因為有一個調用函數的過程,所以性能稍差。方法三需要兩次連接字符串,效率最差!

        那么如果字段的內容中包含了單引號要怎么插入呢?例如:It's fine。方法同樣有三

        ·方法一:使用轉義字符

        SQL > Select 'test' || '''' from dual;

        注意:這里的''''四個單引號是什么意思呢?首先第一個和最后一個都是Oracle中的字符串連接符,這個沒有異議。那么第二個'和第三'又表示什么意思呢?第二個'是一個轉義字符

        第三個'才是我們真正的內容

        ·方法二:同樣是使用轉義字符,只不過方式不同而已

        SQL > Select 'test ''' from dual;

        注意:這里的第二個,第三個'就是我們上面方法一中提到的轉義符和真正的內容

        ·方法三:在SQL中將'替換成chr(39),因為chr(39)是'的ASCII碼

        SQL > Select 'It' || chr(39) || 'fine' from dual;


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线