亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SQLite教程(六):表達式詳解

 更新時間:2015年05月04日 16:32:54   投稿:junjie  
這篇文章主要介紹了SQLite教程(六):表達式詳解,本文講解了常用表達式、條件表達式、轉換表達式等內容,需要的朋友可以參考下

一、常用表達式:

    和大多數(shù)關系型數(shù)據(jù)庫一樣,SQLite能夠很好的支持SQL標準中提供的表達式,其函數(shù)也與SQL標準保持一致,如:

復制代碼 代碼如下:

    ||
    *    /    %
    +    -
    <<   >>   &    |
    <    <=   >    >=
    =    ==   !=   <>   IS   IS NOT   IN   LIKE
    AND  
    OR
    ~    NOT

    在上面的表達式中,唯一需要說明的是"||",該表達式主要用于兩個字符串之間的連接,其返回值為連接后的字符串,即便該操作符兩邊的操作數(shù)為非字符串類型,在執(zhí)行該表達式之前都需要被提前轉換為字符串類型,之后再進行連接。

二、條件表達式:

    該表達式的語法規(guī)則如下:
 

復制代碼 代碼如下:

    1). CASE x WHEN w1 THEN r1 WHEN w2 THEN r2 ELSE r3 END
    2). CASE WHEN x=w1 THEN r1 WHEN x=w2 THEN r2 ELSE r3 END
 

    對于第一種情況,條件表達式x只需計算一次,然后分別和WHEN關鍵字后的條件逐一進行比較,直到找到相等的條件,其比較規(guī)則等價于等號(=)表達式。如果找到匹配的條件,則返回其后THEN關鍵字所指向的值,如果沒有找到任何匹配,則返回ELSE關鍵字之后的值,如果不存在ELSE分支,則返回NULL。對于第二種情況,和第一種情況相比,唯一的差別就是表達式x可能被多次執(zhí)行,比如第一個WHEN條件不匹配,則繼續(xù)計算后面的WHEN條件,其它規(guī)則均與第一種完全相同。最后需要說明的是,以上兩種形式的CASE表達式均遵守短路原則,即第一個表達式的條件一旦匹配,其后所有的WHEN表達式均不會再被執(zhí)行或比較。

三、轉換表達式:

    該表達式的語法規(guī)則如下:
 

復制代碼 代碼如下:

    CAST(expr AS target_type)
 

    該表達式會將參數(shù)expr轉換為target_type類型,具體的轉換規(guī)則見如下列表:


目標類型 轉換規(guī)則描述
TEXT 如果轉換INTEGER或REAL類型的值到TEXT類型直接轉換即可,就像C/C++接口函數(shù)sqlite3_snprintf所完成的工作。
REAL 如果轉換TEXT類型的值到REAL類型,在該文本的最前部,將可以轉換為實數(shù)的文本轉換為相應的實數(shù),其余部分忽略。其中該文本值的前導零亦將被全部忽略。如果該文本值沒有任何字符可以轉換為實數(shù),CAST表達式的轉換結果為0.0。
INTEGER 如果轉換TEXT類型的值到INTEGER類型,在該文本的最前部,將可以轉換為整數(shù)的文本轉換為相應的整數(shù),其余部分忽略。其中該文本值的前導零亦將被全部忽略。如果該文本值沒有任何字符可以轉換為整數(shù),CAST表達式的轉換結果為0。
如果轉換將一個實數(shù)值轉換為INTEGER類型,則直接截斷實數(shù)小數(shù)部分。如果實數(shù)過大,則返回最大的負整數(shù):-9223372036854775808。
NUMERIC   如果轉換文本值到NUMERIC類型,則先將該值強制轉換為REAL類型,只有在將REAL轉換為INTEGER不會導致數(shù)據(jù)信息丟失以及完全可逆的情況下,SQLite才會進一步將其轉換為INTEGER類型。

    最后需要說明的是,如果expr為NULL,則轉換的結果也為NULL。

相關文章

  • CentOS下更新SQLite版本

    CentOS下更新SQLite版本

    SQLite是一個軟件庫,實現(xiàn)了自給自足的、無服務器的、零配置的、事務性的 SQL 數(shù)據(jù)庫引擎。這篇文章主要介紹了CentOS下更新SQLite版本,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-12-12
  • SQLite中的WAL機制詳細介紹

    SQLite中的WAL機制詳細介紹

    這篇文章主要介紹了SQLite中的WAL機制詳細介紹,本文講解了什么是WAL、WAL如何工作、WAL的優(yōu)點與缺點、WAL引入的兼容性問題、WAL引入的性能問題等內容,需要的朋友可以參考下
    2015-01-01
  • Win11下基于VS2022編譯SQLite3源碼的實現(xiàn)步驟

    Win11下基于VS2022編譯SQLite3源碼的實現(xiàn)步驟

    本文主要介紹了Win11下基于VS2022編譯SQLite3源碼的實現(xiàn)步驟,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09
  • SQLite教程(五):索引和數(shù)據(jù)分析/清理

    SQLite教程(五):索引和數(shù)據(jù)分析/清理

    這篇文章主要介紹了SQLite教程(五):索引和數(shù)據(jù)分析/清理,本文講解了創(chuàng)建索引、刪除索引、重建索引、數(shù)據(jù)分析、數(shù)據(jù)清理等內容,需要的朋友可以參考下
    2015-05-05
  • sqlite循環(huán)批量插入數(shù)據(jù)采用批處理文件實現(xiàn)

    sqlite循環(huán)批量插入數(shù)據(jù)采用批處理文件實現(xiàn)

    需要在sqlite數(shù)據(jù)庫中插入大量測試數(shù)據(jù),需要通過一個批處理文件來循環(huán)調用插入sqlite語句,感興趣的朋友可以參考下哈,希望可以幫助到你
    2013-04-04
  • python之sqlalchemy創(chuàng)建表的實例詳解

    python之sqlalchemy創(chuàng)建表的實例詳解

    這篇文章主要介紹了數(shù)據(jù)庫之sqlalchemy創(chuàng)建表的實例詳解的相關資料,希望通過本文能幫助到大家,讓大家掌握理解這部分內容,需要的朋友可以參考下
    2017-10-10
  • SQLite教程(十一):臨時文件

    SQLite教程(十一):臨時文件

    這篇文章主要介紹了SQLite教程(十一):臨時文件,本文講解了七種臨時文件并對它們一一具體說明,并相關的編譯時參數(shù)和指令、其它優(yōu)化策略等內容,需要的朋友可以參考下
    2015-05-05
  • SQLite字符串比較時的大小寫問題解決方法

    SQLite字符串比較時的大小寫問題解決方法

    這篇文章主要介紹了SQLite字符串比較時的大小寫問題解決方法,本文總結了比較字符串時的大小寫問題的3種解決方案,需要的朋友可以參考下
    2015-03-03
  • SQLite3中的日期時間函數(shù)使用小結

    SQLite3中的日期時間函數(shù)使用小結

    這篇文章主要介紹了SQLite3中的日期時間函數(shù)使用小結,同時介紹了一些SQLite數(shù)據(jù)庫的基本知識,需要的朋友可以參考下
    2014-05-05
  • SQLITE3 使用總結

    SQLITE3 使用總結

    Sqlite3 的確很好用。小巧、速度快。但是因為非微軟的產品,幫助文檔總覺得不夠。這些天再次研究它,又有一些收獲,這里把我對 sqlite3 的研究列出來,以備忘記。也希望能對大家有所幫助。
    2014-08-08

最新評論