国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:206日期:2023-04-05 14:56:01

一、常用表達(dá)式:

    和大多數(shù)關(guān)系型數(shù)據(jù)庫(kù)一樣,SQLite能夠很好的支持SQL標(biāo)準(zhǔn)中提供的表達(dá)式,其函數(shù)也與SQL標(biāo)準(zhǔn)保持一致,如:
復(fù)制代碼 代碼如下:
    ||
    *    /    %
    +    -
    <<   >>   &    |
    <    <=   >    >=
    =    ==   !=   <>   IS   IS NOT   IN   LIKE
    AND  
    OR
    ~    NOT

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

二、條件表達(dá)式:

    該表達(dá)式的語(yǔ)法規(guī)則如下:
 復(fù)制代碼 代碼如下:
    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
 
    對(duì)于第一種情況,條件表達(dá)式x只需計(jì)算一次,然后分別和WHEN關(guān)鍵字后的條件逐一進(jìn)行比較,直到找到相等的條件,其比較規(guī)則等價(jià)于等號(hào)(=)表達(dá)式。如果找到匹配的條件,則返回其后THEN關(guān)鍵字所指向的值,如果沒(méi)有找到任何匹配,則返回ELSE關(guān)鍵字之后的值,如果不存在ELSE分支,則返回NULL。對(duì)于第二種情況,和第一種情況相比,唯一的差別就是表達(dá)式x可能被多次執(zhí)行,比如第一個(gè)WHEN條件不匹配,則繼續(xù)計(jì)算后面的WHEN條件,其它規(guī)則均與第一種完全相同。最后需要說(shuō)明的是,以上兩種形式的CASE表達(dá)式均遵守短路原則,即第一個(gè)表達(dá)式的條件一旦匹配,其后所有的WHEN表達(dá)式均不會(huì)再被執(zhí)行或比較。

三、轉(zhuǎn)換表達(dá)式:

    該表達(dá)式的語(yǔ)法規(guī)則如下:
 復(fù)制代碼 代碼如下:
    CAST(expr AS target_type)
 
    該表達(dá)式會(huì)將參數(shù)expr轉(zhuǎn)換為target_type類(lèi)型,具體的轉(zhuǎn)換規(guī)則見(jiàn)如下列表:


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

    最后需要說(shuō)明的是,如果expr為NULL,則轉(zhuǎn)換的結(jié)果也為NULL。

標(biāo)簽: SQLite
相關(guān)文章:
主站蜘蛛池模板: 亚洲天堂美女视频 | 性做久久久久久久免费看 | 91精品久久久久久久久网影视 | 国产精品久久视频 | 亚洲国产精品一区二区三区在线观看 | 国产视频久久 | 91久久精品视频 | 免费观看成人www精品视频在线 | 久久精品成人免费网站 | 国产成人在线视频免费观看 | 国产成人aaa在线视频免费观看 | 欧美叫床戏做爰无遮挡 | 色网站在线观看 | 久草手机在线观看视频 | 国产区香蕉精品系列在线观看不卡 | 亚洲欧美日韩一级特黄在线 | 精品免费久久久久欧美亚一区 | 国产在线一区观看 | 欧美性性性性性色大片免费的 | 久久久久综合给合狠狠狠 | 在线成人播放毛片 | 色成人亚洲 | 加勒比在线免费视频 | 国产真实自拍 | 成 人 亚洲 综合天堂 | 三级网站免费看 | 国产精品亚洲片在线不卡 | 国产精品久久久久久爽爽爽 | 欧美午夜免费观看福利片 | 久久精品国产欧美 | 一级啊片| 青青影院一区二区免费视频 | 亚洲精品国产免费 | 国产一级内谢a级高清毛片 国产一级片毛片 | 国产一区二区三区四区五区tv | 亚洲综合精品一区二区三区中文 | 免费成人一级片 | 欧洲美女a视频一级毛片 | 黄色美女网站视频 | 欧洲亚洲一区二区三区 | 亚在线|