亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關(guān)軟件
    >運(yùn)算符 創(chuàng)建者:webmaster 更新時(shí)間:2006-02-16 15:51

    運(yùn)算符是一種符號(hào),用來(lái)指定要在一個(gè)或多個(gè)表達(dá)式中執(zhí)行的操作。Microsoft® SQL Server™ 2000 使用下列幾類運(yùn)算符:


    • 算術(shù)運(yùn)算符



    • 賦值運(yùn)算符



    • 位運(yùn)算符



    • 比較運(yùn)算符



    • 邏輯運(yùn)算符



    • 字符串串聯(lián)運(yùn)算符



    • 一元運(yùn)算符



    算術(shù)運(yùn)算符


    算術(shù)運(yùn)算符在兩個(gè)表達(dá)式上執(zhí)行數(shù)學(xué)運(yùn)算,這兩個(gè)表達(dá)式可以是數(shù)字?jǐn)?shù)據(jù)類型分類的任何數(shù)據(jù)類型。有關(guān)數(shù)據(jù)類型分類的更多信息,請(qǐng)參見(jiàn) Transact-SQL 語(yǔ)法規(guī)則。


































    運(yùn)算符含義
    +(加)加法。
    -(減)減法。
    *(乘)乘法。
    /(除)除法。
    %(模)返回一個(gè)除法的整數(shù)余數(shù)。例如,12 % 5 = 2,這是因?yàn)?12 除以 5,余數(shù)為 2。



    加 (+) 和減 (–) 運(yùn)算符也可用于對(duì) datetimesmalldatetime 值執(zhí)行算術(shù)運(yùn)算。



    有關(guān)算術(shù)運(yùn)算結(jié)果的精度和小數(shù)位數(shù)的更多信息,請(qǐng)參見(jiàn)精度、小數(shù)位數(shù)及長(zhǎng)度



    賦值運(yùn)算符


    Transact-SQL 有一個(gè)賦值運(yùn)算符,即等號(hào) (=)。在下面的示例中,創(chuàng)建了 @MyCounter 變量。然后,賦值運(yùn)算符將 @MyCounter 設(shè)置成一個(gè)由表達(dá)式返回的值。



    DECLARE @MyCounter INT
    SET @MyCounter = 1


    也可以使用賦值運(yùn)算符在列標(biāo)題和為列定義值的表達(dá)式之間建立關(guān)系。下面的示例顯示名為 FirstColumnHeading SecondColumnHeading 的兩個(gè)列標(biāo)題。在 FirstColumnHeading 列標(biāo)題中為所有的行都顯示字符串 xyz。然后,在 SecondColumnHeading 列標(biāo)題中列出來(lái)自 Products 表的每個(gè)產(chǎn)品 ID。



    USE Northwind
    GO
    SELECT FirstColumnHeading = 'xyz',
        SecondColumnHeading = ProductID
    FROM Products
    GO


    按位運(yùn)算符


    位運(yùn)算符在兩個(gè)表達(dá)式之間執(zhí)行位操作,這兩個(gè)表達(dá)式可以為整型數(shù)據(jù)類型分類中的任何數(shù)據(jù)類型。
























    運(yùn)算符含義
    &(按位 AND)按位 AND(兩個(gè)操作數(shù))。
    |(按位 OR)按位 OR(兩個(gè)操作數(shù))。
    ^(按位互斥 OR)按位互斥 OR(兩個(gè)操作數(shù))。



    位運(yùn)算符的操作數(shù)可以是整型或二進(jìn)制字符串?dāng)?shù)據(jù)類型分類中的任何數(shù)據(jù)類型(但 image 數(shù)據(jù)類型除外),此外,兩個(gè)操作數(shù)不能同時(shí)是二進(jìn)制字符串?dāng)?shù)據(jù)類型分類中的某種數(shù)據(jù)類型。下表顯示所支持的操作數(shù)數(shù)據(jù)類型。







































    左邊操作數(shù)右邊操作數(shù)
    binaryint、smallint tinyint
    bitint、smallint、tinyint bit
    intintsmallint、tinyint、binary varbinary
    smallintintsmallint、tinyintbinary varbinary
    tinyintint、smallint、tinyint、binary varbinary
    varbinaryint、smallint tinyint



    比較運(yùn)算符


    比較運(yùn)算符測(cè)試兩個(gè)表達(dá)式是否相同。除了 text、ntextimage 數(shù)據(jù)類型的表達(dá)式外,比較運(yùn)算符可以用于所有的表達(dá)式。






















































    運(yùn)算符含義
    =(等于)等于
    >(大于)大于
    <(小于)小于
    >=(大于或等于)大于等于
    <=(小于或等于)小于等于
    <>(不等于)不等于
    !=(不等于)不等于(非 SQL-92 標(biāo)準(zhǔn))
    !< (不小于)不小于(非 SQL-92 標(biāo)準(zhǔn))
    !> (不大于)不大于(非 SQL-92 標(biāo)準(zhǔn))



    比較運(yùn)算符的結(jié)果有布爾數(shù)據(jù)類型,它有三種值:TRUE、FALSE 及 UNKNOWN。那些返回布爾數(shù)據(jù)類型的表達(dá)式被稱為布爾表達(dá)式。



    和其它 SQL Server 數(shù)據(jù)類型不同,不能將布爾數(shù)據(jù)類型指定為表列或變量的數(shù)據(jù)類型,也不能在結(jié)果集中返回布爾數(shù)據(jù)類型。



    當(dāng) SET ANSI_NULLS 為 ON 時(shí),帶有一個(gè)或兩個(gè) NULL 表達(dá)式的運(yùn)算符返回 UNKNOWN。當(dāng) SET ANSI_NULLS 為 OFF 時(shí),上述規(guī)則同樣適用,只不過(guò)如果兩個(gè)表達(dá)式都為 NULL,那么等號(hào)運(yùn)算符返回 TRUE。例如,如果 SET ANSI_NULLS 是 OFF,那么 NULL = NULL 就返回 TRUE。



    在 WHERE 子句中使用帶有布爾數(shù)據(jù)類型的表達(dá)式,可以篩選出符合搜索條件的行,也可以在流控制語(yǔ)言語(yǔ)句(例如 IF 和 WHILE)中使用這種表達(dá)式。例如:



    USE Northwind
    GO
    DECLARE @MyProduct int
    SET @MyProduct = 10
    IF (@MyProduct <> 0)
      SELECT *
      FROM Products
      WHERE ProductID = @MyProduct
    GO


    邏輯運(yùn)算符


    邏輯運(yùn)算符對(duì)某個(gè)條件進(jìn)行測(cè)試,以獲得其真實(shí)情況。邏輯運(yùn)算符和比較運(yùn)算符一樣,返回帶有 TRUE 或 FALSE 值的布爾數(shù)據(jù)類型。



























































    運(yùn)算符含義
    ALL如果一系列的比較都為 TRUE,那么就為 TRUE。
    AND如果兩個(gè)布爾表達(dá)式都為 TRUE,那么就為 TRUE。
    ANY如果一系列的比較中任何一個(gè)為 TRUE,那么就為 TRUE。
    BETWEEN如果操作數(shù)在某個(gè)范圍之內(nèi),那么就為 TRUE。
    EXISTS如果子查詢包含一些行,那么就為 TRUE。
    IN如果操作數(shù)等于表達(dá)式列表中的一個(gè),那么就為 TRUE。
    LIKE如果操作數(shù)與一種模式相匹配,那么就為 TRUE。
    NOT對(duì)任何其它布爾運(yùn)算符的值取反。
    OR如果兩個(gè)布爾表達(dá)式中的一個(gè)為 TRUE,那么就為 TRUE。
    SOME如果在一系列比較中,有些為 TRUE,那么就為 TRUE。



    有關(guān)邏輯運(yùn)算符的更多信息,請(qǐng)參見(jiàn)專門(mén)的邏輯運(yùn)算符主題。



    字符串串聯(lián)運(yùn)算符


    字符串串聯(lián)運(yùn)算符允許通過(guò)加號(hào) (+) 進(jìn)行字符串串聯(lián),這個(gè)加號(hào)也被稱為字符串串聯(lián)運(yùn)算符。其它所有的字符串操作都可以通過(guò)字符串函數(shù)(例如 SUBSTRING)進(jìn)行處理。



    默認(rèn)情況下,對(duì)于 varchar 數(shù)據(jù)類型的數(shù)據(jù),在 INSERT 或賦值語(yǔ)句中,將空的字符串解釋為空字符串。在串聯(lián) varchar、chartext 數(shù)據(jù)類型的數(shù)據(jù)時(shí),空的字符串被解釋為空字符串。例如,將 'abc' + '' + 'def' 存儲(chǔ)為 'abcdef'。但是,如果 sp_dbcmptlevel 兼容性級(jí)別設(shè)置為 65,那么將空的常量當(dāng)作一個(gè)空格字符,這樣就將 'abc' + '' + 'def' 存儲(chǔ)為 'abc def'。有關(guān)空字符串的解釋的更多信息,請(qǐng)參見(jiàn) sp_dbcmptlevel



    當(dāng)兩字符串串聯(lián)時(shí),根據(jù)排序規(guī)則的優(yōu)先規(guī)則設(shè)置結(jié)果表達(dá)式的排序規(guī)則。有關(guān)更多信息,請(qǐng)參見(jiàn)排序規(guī)則的優(yōu)先順序。



    一元運(yùn)算符


    一元運(yùn)算符只對(duì)一個(gè)表達(dá)式執(zhí)行操作,這個(gè)表達(dá)式可以是數(shù)字?jǐn)?shù)據(jù)類型分類中的任何一種數(shù)據(jù)類型。
























    運(yùn)算符含義
    + (正)數(shù)值為正。
    - (負(fù))數(shù)值為負(fù)。
    ~(按位 NOT)返回?cái)?shù)字的補(bǔ)數(shù)。



    + (正)和 - (負(fù))運(yùn)算符可以用于數(shù)字?jǐn)?shù)據(jù)類型分類的任何數(shù)據(jù)類型的表達(dá)式。~ (按位 NOT)運(yùn)算符只可以用于整型數(shù)據(jù)類型分類的任何數(shù)據(jù)類型的表達(dá)式。



    運(yùn)算符的優(yōu)先順序


    當(dāng)一個(gè)復(fù)雜的表達(dá)式有多個(gè)運(yùn)算符時(shí),運(yùn)算符優(yōu)先性決定執(zhí)行運(yùn)算的先后次序。執(zhí)行的順序可能?chē)?yán)重地影響所得到的值。



    運(yùn)算符有下面這些優(yōu)先等級(jí)。在較低等級(jí)的運(yùn)算符之前先對(duì)較高等級(jí)的運(yùn)算符進(jìn)行求值。


    • +(正)、-(負(fù))、~(按位 NOT)



    • *(乘)、/(除)、%(模)



    • +(加)、(+ 串聯(lián))、-(減)



    • =,  >,  <,  >=,  <=,  <>,  !=,  !>,  !< 比較運(yùn)算符



    • ^(位異或)、&(位與)、|(位或)



    • NOT



    • AND



    • ALL、ANY、BETWEEN、IN、LIKE、OR、SOME



    • =(賦值)



    當(dāng)一個(gè)表達(dá)式中的兩個(gè)運(yùn)算符有相同的運(yùn)算符優(yōu)先等級(jí)時(shí),基于它們?cè)诒磉_(dá)式中的位置來(lái)對(duì)其從左到右進(jìn)行求值。例如,在下面的示例中,在 SET 語(yǔ)句中使用的表達(dá)式中,在加號(hào)運(yùn)算符之前先對(duì)減號(hào)運(yùn)算符進(jìn)行求值。



    DECLARE @MyNumber int
    SET @MyNumber = 4 - 2 + 27
    -- Evaluates to 2 + 27 which yields an expression result of 29.
    SELECT @MyNumber


    在表達(dá)式中可以使用括號(hào)替代所定義的運(yùn)算符的優(yōu)先性。首先對(duì)括號(hào)中的內(nèi)容進(jìn)行求值,從而產(chǎn)生一個(gè)值,然后括號(hào)外的運(yùn)算符才可以使用這個(gè)值。



    例如在下面的示例中,在 SET 語(yǔ)句所使用的表達(dá)式中,乘運(yùn)算符比加運(yùn)算符有更高的優(yōu)先權(quán),所以先對(duì)乘運(yùn)算符進(jìn)行求值;表達(dá)式的結(jié)果是 13。



    DECLARE @MyNumber int
    SET @MyNumber = 2 * 4 + 5
    -- Evaluates to 8 + 5 which yields an expression result of 13.
    SELECT @MyNumber


    在下面的示例中,在 SET 語(yǔ)句使用的表達(dá)式中,括號(hào)使得首先執(zhí)行加法;表達(dá)式結(jié)果是 18。



    DECLARE @MyNumber int
    SET @MyNumber = 2 * (4 + 5)
    -- Evaluates to 2 * 9 which yields an expression result of 18.
    SELECT @MyNumber


    如果表達(dá)式有嵌套的括號(hào),那么首先對(duì)嵌套最深的表達(dá)式求值。下面的示例中包含嵌套的括號(hào),其中表達(dá)式 5 - 3 在嵌套最深的那對(duì)括號(hào)中。該表達(dá)式產(chǎn)生一個(gè)值 2。然后加運(yùn)算符將這個(gè)結(jié)果與 4 相加,這樣就得出一個(gè)為 6 的值。最后將 6 與 2 相乘,產(chǎn)生一個(gè)表達(dá)式結(jié)果 12。



    DECLARE @MyNumber int
    SET @MyNumber = 2 * (4 + (5 - 3) )
    -- Evaluates to 2 * (4 + 2) which further evaluates to 2 * 6, and
    -- yields an expression result of 12.
    SELECT @MyNumber
    相關(guān)文章
    本頁(yè)查看次數(shù):