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

Sql語言中單雙引號

發布時間: 2023-05-09 19:58:00

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語句引號用法

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語句中什麼時候用單引號什麼時候用雙引號如圖中的紅為什麼用雙引號

一般都用單引號,但是圖中SQL識別雙引號.應該和編輯器軟體有關,可能編輯軟體有轉換.
但是在其它語言編輯器寫程序就只能用單引號,原因就是你所用的編輯器自己也有雙引號在拼寫SQL的時如果也出現雙引的話就會錯

Ⅳ sql語句什麼時候用雙引號或者單引號

估計你問的問題是在程序里寫代碼的時候有雙引號和單引號!~
雙引號表示
庫里的欄位是數值型的!~
而單引號是表示字元型的!~
select
*
from
table
where
a="text1.text"
and
b='"
text2.text"'"

Ⅳ sql中單引號跟雙引號有什麼區別分別用於什麼情況

你如果一串變數字元中要加入自己的字元必須用單引號來轉換,而雙引號只是簡單的字元!

Ⅵ 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語句 雙引號,單引號連用怎麼理解,

loginname
指的就是一個變數名<與資料庫里的欄位匹配>,
而'"+Login1.UserName+"'
就是你輸入的值,
假如只有單引號,系統會認為變數就是Login1.UserName,
而這個值是固定的,然而我們需要的是一個變數,
所以就得再加一個
雙引號

至於
『+』
就是連接字元串的意思、、、

Ⅷ SQL查詢語句中單引號和雙引號的問題

是這樣的在SQL里字元型只能用單引號,雙引號是引用的鏈接資料庫的程序里的,如果要用雙引號,在SQL里要加個',要是要加單引號也一樣前面加個'所以就變成''',''了

Ⅸ sql中雙引號 " 單引號' 反單引號`的作用和區別

雙引號在最外層,是用來包含這個SQL語句的,單引號是用來包含字元串的,當表中的欄位為char或者varchar時,數據要用單引號包括起來。這兩個想必學過的都很容易理解,讓人困惑的是倒引號(反單引號)用來幹嘛的呢,其實是我們在命名欄位的時候,欄位名與SQL關鍵字沖突了,這時候要用倒引號包含一下來規避關鍵字檢測,這種情況對一個合格的程序員來說要盡量避免。

Ⅹ SQL 中 單引號和雙引號的區別

表示你的字元串中含有引號。單引號在sql語句中,一個'用兩個連續的''替換。雙引號則不需要特殊處理。