SQL中儲存過程中SQL語句的單引號和雙引號問題

2021-05-24 11:26:37 字數 1016 閱讀 7885

1)是連線運算子,它可以將兩個字串連線成乙個字串。如

a="abc" & "def"

執行連線運算後,a="abcdef"。再如

a="abc" & temp

注意,這裡temp是乙個字串變數,假如temp="def",那麼代入上面的式子,則結果為:

a="abc" & "def"

繼續執行連線運算,結果a="abcdef"。有時候,可能會有多個連線運算子,只要依次運算即可。如

a="abc" & "def" & "gh"

結果為a="abcdefgh"。

(2)關於雙引號"。字串兩邊一定要加雙引號,表示這是乙個字串。如上面的"abc"、"def"、"gh"兩邊的雙引號就都是表示這是乙個字串。

當然,字串變數名稱兩邊不能再加雙引號了,如上面提到的a="abc" & temp 中的temp是變數,

所以兩邊不能加雙引號,如果給temp加上雙引號,那麼它就變成了乙個字串常數"temp"了。

(3)關於單引號'。為什麼會使用單引號呢?這是因為如果發生引號巢狀,內層的雙引號就要改為單引號。

下面來看乙個例子:

a="字串兩邊要加英文雙引號,如"abc",或者……

"大家看這句話,原來的意思是:最前面和最後面的"表示中間是乙個字串。而"abc"兩邊的雙引號表示abc是乙個字串。可是這樣就會發生錯誤了。因為第1個雙引號實際上會和第2個雙引號配套,並不是和大家希望的第4個雙引號配套。

那麼怎麼辦呢,此時就需要把內層的雙引號"abc"改為單引號,如下:

a="字串兩邊要加英文雙引號,如'abc',或者……

"下面要補充的是:

1) 以上提到的符號都是英文狀態下的,屬於語法中會用到的符號。如果是中文狀態下的符號,就不需要這樣變化。如

;a="小王說:「我們吃飯去吧」。

"其中的中文符號並不參與語法,所以不需要變化。

2) 發生引號巢狀時,內層引號一般改為單引號,不過也可以改為兩個雙引號,如下:

a="字串兩邊要加英文雙引號,如""abc"",或者……"   

SQL中儲存過程

sql儲存過程 本次應用資料庫 就是面向過程的程式設計語句 裡面加入了流語句 有 begin end 賦值 封裝 但是因為可移植性太差的原因,所以國內很少有人指出儲存過程 開發維護,版本迭代太困難 更重要的是不符合高併發的資料庫管理,高併發要減輕資料庫的壓力,採用分庫分表的形式,而且對可擴充套件性要...

MySQL 儲存過程中執行動態 SQL 語句

mysql 02mysql delimiter 03mysql 04mysql createprocedureset col value 05 in tablevarchar 128 06 in columnvarchar 128 07 in new valuevarchar 1000 08 in ...

學習記錄 Sql中儲存過程的

儲存過程中 rowcount sql的系統變數 rowcount返回的是上一語句影響的行數。while rowcount 0 begin if not exists select t tree id from affair open tree where t tree id search tree ...