<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                [TOC] # 其它函數 ## COALESCE **聲明** `COALESCE(expr, expr, expr,...)` **說明** 依次參考各參數表達式,遇到非NULL值即停止并返回該值。如果所有的表達式都是空值,最終將返回一個空值。 所有表達式必須是相同類型,或者可以隱性轉換為相同的類型。 **例子** ~~~ Oceanbase>SELECT COALESCE(NULL,NULL,3,4,5), COALESCE(NULL,NULL,NULL); +---------------------------+--------------------------+ | COALESCE(NULL,NULL,3,4,5) | COALESCE(NULL,NULL,NULL) | +---------------------------+--------------------------+ | 3 | NULL | +---------------------------+--------------------------+ 1 row in set (0.00 sec) ~~~ ## NVL **聲明** `NVL(str1,replace_with)` **說明** 如果 str1 為 NULL,則替換成 replace\_with。 任何時候給它一個空值,它都返回一個你所選擇的值。這種能夠自動替換空值的能力有助于提供看上去更為完善的輸出。其中 str1 一般是一個列名。replace\_with 可以是任何值:直接值(即硬編碼)、對其他列的引用或者表達式。 **例子** ~~~ Oceanbase>SELECT NVL(NULL, 0), NVL(NULL, 'a'); +--------------+----------------+ | NVL(NULL, 0) | NVL(NULL, 'a') | +--------------+----------------+ | 0 | a | +--------------+----------------+ 1 row in set (0.00 sec) ~~~ ## SLEEP **聲明** `SLEEP(duration)` **說明** SLEEP函數根據duration指定的數值暫停相應的時間(單位為秒),并在暫停結束后返回0。 如果SLEEP單獨執行且沒有被中斷,返回結果0; 如果SLEEP單獨執行期間被中斷,返回結果1,但不會返回任何錯誤碼; 如果SLEEP是查詢的一部分,且暫停期間被中斷,將會返回錯誤碼1317; **例子** ~~~ mysql> SELECT SLEEP(1000); +------------------+ | SLEEP(1000) | +------------------+ | 0 | +------------------+ mysql> SELECT SLEEP(1000); +------------------+ | SLEEP(1000) | +------------------+ | 1 | +------------------+ mysql> SELECT 1 FROM t1 WHERE SLEEP(1000); ERROR 1317 (70100): Query execution was interrupted ~~~ ## 全文查找函數 **聲明** ~~~ MATCH (col1,col2,...) AGAINST (expr [search_modifier]) search_modifier: { IN NATURAL LANGUAGE MODE | IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION | IN BOOLEAN MODE | WITH QUERY EXPANSION } ~~~ **說明** OceanBase1.0已經支持使用全文查找函數來對全文索引進行查找,并且使用全文查找函數有以下要求: * 全文查找函數MATCH(col1,col2,...)中指定的列上必須有全文索引(OB目前只支持FULLTEXT CTXCAT索引) * 在FULLTEXT CTXCAT索引中,全文查找函數MATCH(col1,col2,...)中指定的列必須完整的覆蓋索引中的全文列,例如FULLTEXT INDEX(c1, c2, c3), CTXCAT(c2, c3) 必須是 MATCH(c2,c3) 才能完全的匹配 * 全文查找函數可以通過上述的關鍵字來指定查找模式(OB目前只支持NATURAL LANGUAGE MODE和BOOLEAN MODE兩種模式),缺省是NATURAL LANGUAGE MODE 默認情況下或者指定IN NATURAL LANGUAGE MODE標示符,MATCH…AGAINST將使用NATURAL LANGUAGE模式來進行全文查找,在NATURAL LANGUAGE模式下,AGAINST接受一個查找字符串,并且按照字符集的比較方式在索引中進行查找,對于表中的每一行數據,MATCH的返回值代表了查找字符串和行中數據的相關度,也就是查找字符串中的文本和數據表中的文本相似度。在默認情況下,OB創建的字符串相關的列是大小寫不敏感的,因此,全文查找的關鍵字是不區分大小寫的。如果需要區分大小寫,可以為創建全文索引的列指定大小寫敏感的數據類型,例如UTF8MB4\_BIN。如果MATCH...AGAINST函數被用在WHERE子句中,MATCH被用來過濾跟關鍵字相關度不匹配的數據,MATCH...AGAINST=0表示沒有和關鍵字相似的數據,目前OB只支持MATCH...AGAINST=0和MATCH...AGAINST>0兩種形式,即完全不相關或者有任意一個關鍵字相關即可。AGAINST參數中可以接受多個關鍵字,關鍵字之間使用‘ ’隔開,表示OR關系,只要有任意一個關鍵字匹配,即認為符合查找的要求。 OB可以通過使用IN BOOLEAN MODE關鍵字來進行BOOLEAN模式的全文查找。在這種模式中,關鍵字前面一些特殊的操作符含有特殊的語義。例如: ~~~ SELECT * FROM t1 WHERE MATCH (a, b) AGAINST ('菊花 茉莉花' IN BOOLEAN MODE); +----+------------+------------+ | id | a | b | +----+------------+------------+ | 1 | 支付寶 | 菊花茶 | | 2 | 淘寶 | 茉莉花 | +----+------------+------------+ SELECT * FROM t1 WHERE MATCH (a, b) AGAINST ('+菊花 -茉莉花' IN BOOLEAN MODE); +----+------------+------------+ | id | a | b | +----+------------+------------+ | 1 | 支付寶 | 菊花茶 | +----+------------+------------+ ~~~ OB的BOOLEAN全文查找目前支持以下幾種操作符:+ 代表AND關系,表示查找結果中同時要包含被+修飾的關鍵字- 代表NOT關系,表示查找結果中不能包含被-修飾的關鍵字。 ~~~ (no operator) 代表OR關系,表示查找結果中只要包含任意一個沒有操作符修飾的關鍵字即可 ~~~ 在BOOLEAN全文查找模式中有以下幾點需要注意:操作符必須位于關鍵字的前面,關鍵字后面的操作符沒有修飾意義,例如+菊花是有意義的操作符修飾,而菊花+中的操作符沒有修飾意義。操作符和關鍵字必須緊密相連,不能被其它符號分割開,否者沒有修飾意義,例如:+ 菊花前面的操作符沒有修飾意義。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看