當前位置:首頁 » 編程語言 » sql引號數量
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql引號數量

發布時間: 2023-04-11 16:59:33

『壹』 sql語句 為什麼exec 里變數需要三個單引號

單引號是sql要求的,假設你的$username變數值是abc,加上單引號後實際執行的sql就是:
....where
username='abc'
這樣就是正確的sql語句,如果不加上單引號的sql就是:
....where
username=abc
看見差別了沒有,在sql的查詢工具裡面執行以下sql語句就知道了
另外,那個雙引號,是兩個字元串的連接,並沒有進入到sql語句

『貳』 sql語句引號用法 資料庫中引號的用法

1、首先先來說一下單引號和反引號,這里的 '圖書ID' 就使用到了單引號,而

2、CREATE TABLE `book` 這里的 book 就使用到了反引號。

3、單引號:在例子中的條件值周圍使用的是單引號。SQL 使用單引號來環繞文本值。如果是數值,請不要使用引號。按照別的說法來說就是Varchar類型(也可以說是String、字元串類型)這一些在資料庫語句中使用的時候應該使用單引號,而不是直接使用。而對於數值類型的,反而是不能使用單引號。

4、反引號:它是為了區分MYSQL的保留字與普通字元而引入的符號。

5、注意劃重點:有MYSQL保留字作為欄位的,必須加上反引號來區分!

6、雙引號的用法和單引號有所類似,大多數資料庫都支持單引號和雙引號的互換,即varchar類型的變數既可以用單引號來囊括,也可以用雙引號。當然了,一邊單引號,一邊雙引號是不被允許的。

7、另外,在oracle裡面,雙引號還有一個意義,那就是保留大小寫。在oracle資料庫裡面,所有的欄位是默認為轉化成大寫後進資料庫的,所以如果有一個表名為user,這個時候select * from user;這個語句是查不出任何數據的!(明明創建了表,也會提示表不存在的錯誤)只有select * from 「user」才可以,因為上面的語句會默認轉化為大寫。

8、字元串用單引號;表名,欄位名等用反引號;大小寫沖突用雙引號。

『叄』 sql中用幾個單引號的區別

樓主的第一種寫法是錯的 單引號裡面的單引號 兩個算一個
『』『XY』『』 這個就相當於 結果是『XY』

第三種寫法也是錯的 應該是『』『』+xxx+'''' 這里的xxx應是變數 如果不是變數 這樣寫沒有意義 也不能這樣寫
declare @i nvarchar(8)
set @i='sd'
select * from 表名 where 欄位名 like ''''+@i+''''
有什麼疑問可以隨時找我 希望能幫到你

『肆』 動態SQL的拼接,單引號要多少

您好:
在SQL語句里,單引號一方面表示凱喊字元串的開型孫激始和結束,
一方面也作為轉義字元使用。
所以有時候卜襪會出現連續多個單引號。
請盡量成對的使用單引號。以免語句過於復雜難以理解。

『伍』 sql語句如何批量給表添加引號

sql語句批量給表添加引號在preferences 界面的右邊,拖動滾動條,找到"Plugins/CnPlugin/ExPaste",選中.按著"Ctrl+D"(這里的快捷鍵可以根據個人習慣設置).然後確定就可以. 使用快哪猜捷鍵"Ctrl+D"對當前選中備納或剪貼板內李滾型空格式化為IN 字元串,如格式化字元串AA,BB,CC為('AA','BB',CC').

『陸』 求解動態SQL中單引號(也許是轉義符)用法,就是問代碼中有的地方時三個引號,有的是兩個,(補充)

單引號是sql的保留字,再加一個單引號,即同時有2或3個時,sql才認為是按一個單引號進行執行。
具體的情況要進行調試,才能明白。
可以declare strsql nvarchar(1000)
strsql = '......',即你的語句
print strsql
這樣就可以觀察和調整了。

『柒』 sql中什麼時候需要用雙引號,什麼時候用單引號

這就要從雙引號和單引號的作用講起:

1,雙引號裡面的欄位會經過編譯器解釋然後再當作HTML代碼輸出,但是單引號裡面的不需要解釋,直接輸出。例如:

$abc='I love u';
echo $abc //結果是:I love u
echo '$abc' //結果是:$abc
echo "$abc" //結果是:I love u

2,所以在對資料庫裡面的SQL語句賦值的時候也要用在雙引號裡面SQL="select a,b,c from ..."

3,但是SQL語句中會有單引號把欄位名引出來

例如:select * from table where user='abc';

這里的SQL語句可以直接寫成SQL="select * from table where user='abc'"

4,但是如果象下面:

$user='abc';
SQL1="select * from table where user=' ".$user." ' ";對比一下
SQL2="select * from table where user=' abc ' "

5,我把單引號和雙引號之間多加了點空格,希望你能看的清楚一點。

也就是把'abc' 替換為 '".$user."'都是在一個單引號裡面的。只是把整個SQL字元串分割了。

SQL1可以分解為以下3個部分

1:"select * from table where user=' "
2:$user
3:" ' "

字元串之間用 . 來連接。

『捌』 SQL中什麼情況下用引號

在標准sql中,引號的使用
請注意,我們在例子中的條件值周圍使用的是單引號。SQL 使用單引號來環繞文本值(大部分資料庫系統也接受雙引號)。如果是數值,請不要使用引號。文本值:
這是正確的:SELECT * FROM Persons WHERE FirstName='Bush' 這是錯誤的:SELECT * FROM Persons WHERE FirstName=Bush 數值:
這是正確的:SELECT * FROM Persons WHERE Year>1965 這是錯誤的:SELECT * FROM Persons WHERE Year>'1965' 「單引號和雙引號之間的區別最早在SQL92標准中引入的。對於標識符,這個標准區分了常規標識符和分隔的標識符。兩者主要的區別在於:分隔的標識符被括在雙引號中(Transact-SQL也支持方括弧的使用:[標識符])並且是區分大小寫的。單引號只用於字元串的定界。總的來說,引入分隔的標識符是為了對標識符進行規范,否則就會與保留字相同了。特別要提到的是,分隔的標識符能夠使你在命名(標識符或變數的名字)的時候,免於使用在將來的SQL標准中可能出現的保留字。另外,分隔的標識符能夠包含一些在通常的標識符名稱中被視為不合法的字元,如空格。
在SQL SERVER中,雙引號的使用由SET 語句中的QUOTED_IDENTIFIER選項來定義。如果這個選項被設為ON,則雙引號中的標識符將被定義為一個分隔的標識符。在這種情況下,雙引號不能被用於定界字元串。」
當 QUOTED_IDENTIFIER 為 ON 時,對於 SQL 語句中的雙引號和單引號 (') 的使用,SQL Server 遵循 SQL-92 規則:
雙引號只能用於分隔標識符,不能用於分隔字元串。
為保持與現有應用程序的兼容性,SQL Server 並不完全強制該規則。如果字元串沒有超過標識符的長度,則該字元串可包含在雙引號內。但不建議這樣做。
單引號必須用來包含字元串,不能用於分隔標識符。
如果字元串包含單引號,則需要在單引號前再增加一個單引號:
SELECT * FROM "My Table"
WHERE "Last Name" = 'O''Brien'

當 QUOTED_IDENTIFIER 為 OFF 時,對於雙引號和單引號的使用,SQL Server 遵循如下規則:

引號不能用於分隔標識符,而是用括弧作為分隔符。

單引號或雙引號可用於包含字元串。
如果使用雙引號,嵌入的單引號不需要用兩個單引號來表示:

SELECT * FROM [My Table]
WHERE [Last Name] = "O'Brien"

無論 QUOTED_IDENTIFIER 的設置如何,都可以在括弧中使用分隔符。

分隔標識符規則
分隔標識符的格式規則是:

分隔標識符可以包含與常規標識符相同的字元數(1 到 128 個,不包括分隔符字元)。本地臨時表標識符最多可以包含 116 個字元。

標識符的主體可以包含當前代碼頁內字母(分隔符本身除外)的任意組合。例如,分隔符標識符可以包含空格、對常規標識符有效的任何字元以及下列任何字元: 代字型大小 (~) 連字元 (-)
驚嘆號 (!) 左括弧 ({)
百分號 (%) 右括弧 (})
插入號 (^) 撇號 (')
and 號 (&) 句號 (.)
左圓括弧 (() 反斜杠 (\)
右圓括弧 ()) 重音符號 (`) 轉載標識符的概念: 資料庫名是一個標識符,表名也是一個標識符,在SQL SERVER中標識符分為兩類:標識符有兩類:常規標識符符合標識符的格式規則。在 Transact-SQL 語句中使用常規標識符時不用將其分隔。SELECT *FROM TableXWHERE KeyCol = 124
分隔標識符包含在雙引號 (") 或者方括弧 ([ ]) 內。符合標識符格式規則的標識符可以分隔,也可以不分隔。SELECT *FROM [TableX] --Delimiter is optional.WHERE [KeyCol] = 124 --Delimiter is optional.在 Transact-SQL 語句中,對不符合所有標識符規則的標識符必須進行分隔。SELECT *FROM [My Table] --Identifier contains a space and uses a reserved keyword.WHERE [order] = 10 --Identifier is a reserved keyword.常規標識符和分隔標識符包含的字元數必須在 1 到 128 之間。對於本地臨時表,標識符最多可以有 116 個字元。兩者重要的區別:常規標識符必須嚴格遵守命名的規定,而分隔標識符則可以不遵守命名規定,只要用[],""分隔出來就可以。標識符格式:

1、標識符必須是統一碼(Unicode)2.0標准中規定的字元,以及其他一些語言字元。如漢字.

2、標識符後的字元可以是(除條件一)「_」、「@」、「#」、「$」及數字。

3、標識符不允許是Transact-SQL的保留字。

4、標識符內不允許有空格和特殊字元。

另外,某些以特殊符號開頭的標識符在SQLSERVER 中具有特定的含義。如以「@」開頭的標識符表示這是一個局部變數或是一個函數的參數;以#開頭的標識符表示這是一個臨時表或是一存儲過程。以「##」開頭的表示這是一個全局的臨時資料庫對象。Transact-SQL的全局變數以「@@」開頭。標識符最多可以容納128個字元。

『玖』 sql語句中有單引號怎麼辦

如果插入的數據中包含單引號,就需要處理,用戶可以將單引號替換成兩個單引號,在sql
中連續兩個單引號就表示一個單引號字元,例如:

insert into yourTable(f1,f2) values(100,'ab''c')表示插入

新記錄f2欄位為ab'c

使用函數replace可以實現這個功能:

replace(yourStr,"'","''")

在.NET裡面,就要先檢測輸入的數據中有沒有單引號了,如果有,就要自動設置將一個單引號改為兩個單引號。

(9)sql引號數量擴展閱讀:

sql語句舉例:

sql="select * from 數據表 where欄位名in ('值1','值2','值3')"

sql="select * from 數據表 where 欄位名 between 值1 and 值2"

sql="update 數據表 set欄位名=欄位值 where 條件表達式"

sql="delete from 數據表 where 條件表達式"

sql="delete from 數據表" (將數據表所有記錄刪除)

『拾』 sql 語句中多個單引號是什麼意思

兩個單引號一般都是出現在動態SQL語句中
在動態SQL語句中兩個單引號表示為一個單引號。