官术网_书友最值得收藏!

1.5 運算符

運算符是一種符號,用來進行常量、變量或者列之間的數學運算和比較操作,它是SQL語句中很重要的部分。運算符包括算術運算符、賦值運算符、比較運算符、邏輯運算符、位運算符和連接運算符等。

1.5.1 算術運算符

算術運算符在兩個表達式上執行數學運算,這兩個表達式可以是數字數據類型分類的任何數據類型。

算術運算符包括:+(加)、?(減)、×(乘)、/(除)、%(取余)。

例如:5-3=2,3%5=3。

【例1.5】 利用“%”運算符求50對80取余的值。(實例位置:資源包\TM\sl\1\5)

在db_mrsql數據庫中,使用DECLARE關鍵字聲明3個整型變量,使用SELECT關鍵字為變量@A和變量@B分別賦值“50”和“80”。然后使用SET關鍵字為變量@c賦值,將變量@A對@B取余的結果賦給變量@C。最后使用PRINT關鍵字輸出變量@C的信息內容。SQL語句如下:

     use db_mrsql                                         --使用db_mrsql數據庫
     DECLARE @A int ,@B int,@C int                        --聲明3個整型變量
     --使用select關鍵字為變量@A和變量@B分別賦值為“50”和“80”
     SELECT @A=50,@B=80
     --使用SET關鍵字為變量@c賦值,將變量@A對@B取余的結果賦給變量@C
     SET @C=@A%@B
     PRINT @C                                             --使用PRINT關鍵字輸出變量@C的信息內容

執行此SQL語句,運行結果如圖1.6所示。

圖1.6 50對80取余的值

注意

取余運算兩邊的表達式必須是整型數據。

1.5.2 賦值運算符

SQL中的賦值運算符為“=”。在下面的示例中,先創建“@studentname”變量,然后使用賦值運算符將“@studentname”設置成一個由表達式返回的值。

【例1.6】 使用SET關鍵字為變量賦值。(實例位置:資源包\TM\sl\1\6)

在db_mrsql數據庫中,使用DECLARE關鍵字聲明一個變量@studentname,并使用SET關鍵字為該變量賦值,最后使用PRINT關鍵字輸出該變量的值。SQL語句如下:

     use db_mrsql                                     --使用db_mrsql數據庫
     DECLARE @studentname  char(20)                   --使用declare聲明一個變量
     --使用set關鍵字為@studentname變量賦值為“Jack”
     SET @studentname='Jack'
     PRINT '字符串的值為:'+@studentname

執行此SQL語句,運行結果如圖1.7所示。

另外,還可以使用SELECT語句進行賦值。

【例1.7】 使用SELECT語句進行賦值。(實例位置:資源包\TM\sl\1\7)

圖1.7 使用SET關鍵字進行賦值

在db_mrsql數據庫中,使用DECLARE關鍵字聲明一個變量@studentname,使用SELECT語句進行賦值,最后使用PRINT關鍵字輸出該值。SQL語句如下:

     USE db_mrsql                   --使用db_mrsql數據庫
     DECLARE @studentname char(20)  --使用declare聲明一個變量
     SELECT @studentname='Luck'     --使用select關鍵字為該變量賦值
     PRINT @studentname             --使用PRINT關鍵字輸出變量的值

執行此SQL語句,運行結果如圖1.8所示。

圖1.8 使用SELECT語句進行賦值

1.5.3 邏輯運算符

邏輯運算符可對某個條件進行測試,以獲得其真假情況。邏輯運算符和比較運算符一樣,返回帶有TRUE或FALSE值的布爾數據類型。SQL支持的邏輯運算符如表1.7所示。

表1.7 SQL支持的邏輯運算符

例如:20>10 AND 7>6的運算結果為TRUE。

【例1.8】 查詢所在班級為4108班且成績大于60分的學生信息。(實例位置:資源包\TM\sl\1\8)

在db_mrsql數據庫的學生信息表tb_student03中,查詢學生所在班級為4108班且學生成績大于60分的學生的基本信息。SQL語句如下:

     use db_mrsql                                         --使用db_mrsql數據庫
     --查詢所在班級為4108班并且學生成績大于60分的學生的基本信息
     SELECT *
     FROM tb_student03
     WHERE 所在班級='4108班' AND 學生成績>'60'

執行此SQL語句,運行結果如圖1.9所示。

圖1.9 查詢所在班級為4108班且成績大于60分的學生信息

需要注意的是,當NOT、AND和OR出現在同一表達式中,其優先級從高到低分別為NOT、AND和OR。例如:

     1>2 OR 106>100 AND NOT 8>7

這里,首先計算NOT 8>7,其結果FALSE;然后計算106>100 AND FALSE,其結果FALSE;最后計算1>2 OR FALSE,最終結果仍為FALSE。

主站蜘蛛池模板: 晋城| 桐梓县| 刚察县| 乐平市| 临夏市| 东源县| 阿勒泰市| 乾安县| 泰安市| 茶陵县| 太康县| 双辽市| 将乐县| 石渠县| 滦南县| 乌苏市| 深水埗区| 民丰县| 贺州市| 秦皇岛市| 达孜县| 泸州市| 胶州市| 锡林浩特市| 吴桥县| 贵溪市| 景谷| 阿巴嘎旗| 南开区| 太谷县| 桃园县| 黄龙县| 崇文区| 伊金霍洛旗| 呼玛县| 漳州市| 乐至县| 石屏县| 保靖县| 安吉县| 大荔县|