『壹』 sql中單引號跟雙引號有什麼區別分別用於什麼情況
你如果一串變數字元中要加入自己的字元必須用單引號來轉換,而雙引號只是簡單的字元!
『貳』 SQL語言中的單引號與雙引號區別
SQL語句中的單引號與雙引號區別和應用
1 連接字元&號:ASP中&號的主要作用是用來連接的,包括:字元串-字元串、字元串-變數、變數-變數等混合連接。
2 單引號':正如學習語文課一樣,繼續放在雙引號中的引號可以採用單引號。
3 雙引號"" :ASP中處在雙引號中的可以是任意的字元、字元串,HTML代碼。
例子:
v代表變數
V對於數字 例子:var1.asp
qSQL=「select * from 股票行情表 where 收盤價>」&V
V對於字元串 例子:var2.asp
qSQL=「select * from 股票行情表 where 股票代號=『」&V&」』」
V對於日期時間 例子:var3.asp
qSQL=「select * from 買賣記錄 where 買賣日期=#」&V&」#」
單引號與雙引號的區別:
雙引號裡面的欄位會經過編譯器解釋,然後再當作HTML代碼輸出;單引號裡面的不需要解釋,直接輸出。也就是說雙引號中的變數會被解析,單引號里的變數不會被解析。
查詢語句中的欄位如果是文本型就要用單引號,數字型(整型)的才不要單引號,簡言之,一個SQL查詢語句用雙引號括起來,裡面的SQL語句中的字元變數用單引號括起來。而Dreamweaver UltraDev 4軟體中自動生成的語句默認都是數字型的,所以會出現錯誤號0x80040E10的提示。
首先要知道,引號是成對出現的.這個就和語文中學到的一樣.引號裡面的是一段字元串,我們把這段看成一個整體.引號外面的是變數,這個也看成一個整體,而變數也必須是在引號外面的,&是連接符,是用來連接兩個整體的
有時候單引號括起來是字元,Sql中 單引號也做轉義字元
雙引號是字元串,char和string
……………………………………………………………………
在SQL語句 雙引號,單引號連用怎麼理解,???
StrSql="select * from usersheet where loginname=' "+Login1.UserName+" ' and userpass=' "+Login1.PassWord+" ' "
就談下邊的這個例子把
問題補充:' "+Login1.UserName+" '
這個里邊的單雙引號怎麼解釋 還有+號 !!
提問者: netswords - 助理 二級
最佳答案
loginname 指的就是一個變數名<與資料庫里的欄位匹配>,
而' "+Login1.UserName+" ' 就是你輸入的值,
假如只有單引號,系統會認為變數就是Login1.UserName,
而這個值是固定的,然而我們需要的是一個變數,所以就得再加一個雙引號,
至於 『+』 就是連接字元串的意思、、
***************8上面的是網上的解釋 ************
**************8下面是我的程序**********************
strSQL1 = "select * from design where "+rbtnField.SelectedValue+" like '%李大線%' ";
strSQL2 = "select * from design where result like '%李大線%' ";
strSQL1 顯示的 結果 select * from design where result like '%李大線%'
strSQL1 顯示的 結果 select * from design where result like '%李大線%'
上面這兩句話這個時候完全相同 ,可以實現查詢。
如果是下面的情況就不一樣了~~~
strSQL1 = "select * from design where ' "+rbtnField.SelectedValue+" ' like '%李大線%' ";
strSQL2 = "select * from design where result like '%李大線%' ";
strSQL1 顯示的 結果 select * from design where 'result' like '%李大線%'
strSQL1 顯示的 結果 select * from design where result like '%李大線%'
SqlCommand mycomm = new SqlCommand("select * from design where "+rbtnField.SelectedValue+" like '%李大線%' ", conn); 這個時候可以完成模糊搜索。。
strSQL1 = " select * from design where "+rbtnField.SelectedValue+ " = ' "+Textkeyword.Text+ " ' ";
strSQL 2= "select * from design where "+rbtnField.SelectedValue+ " = "+Textkeyword.Text+ " "
select * from design where kv = '35'
strSQL1 顯示的 結果 select * from design where kv = '35'
strSQL1 顯示的 結果 select * from design where kv = 35
這個時候的strSQL1和strSQL2是等價的,都可以用於查詢。。
看樣子,至少我的例子中,單引號' '是沒有任何作用的,只有麻煩,以後盡量不用
『叄』 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語句是 delete from xiaolei where dalei_mz='dalei_mz'
所以是字元串: delete from xiaolei where dalei_mz=' (所以在兩端加上雙引號).再加上dalei_mz這個變數的值, 再在後面加一個字元串:單引號(字元串的兩端要加雙引號,所以是"'").這樣就組成了一個完整的SQL語句.
夠詳細的吧.
『伍』 sql語句中符號"=>"怎麼用
以下希望對你有所幫助。
盡管聲明字串常量的標准方法通常都很方便,但是如果字串包含很多單引號或者反斜杠, 那麼理解字串的內容可能就會變得很苦澀,因為每個單引號都要加倍。 為了讓這種場合下的查詢更具可讀性,PostgreSQL 允許另外一種稱作"美元符包圍"的字串常量聲明辦法。 一個通過美元符包圍聲明的字串常量由一個美元符號($),一個可選的零個或多個字元"記號", 另外一個美元符號,一個組成字串常量的任意字元的序列,一個美元符號,以及一個和開始這個美元符包圍的記號相同的記號,和一個美元符號組成。 比如,下面是兩個不同的方法,用美元符包圍聲明了前面的例子:
$$Dianne's horse$$
$SomeTag$Dianne's horse$SomeTag$請注意,在美元符包圍的字串里,單引號可以不用逃逸使用。 實際上,在一個美元符包圍的字串里,沒有什麼字元需要逃逸: 字串內容總是按照字面內容寫。反斜杠不是特殊的, 美元符自己也不是特殊的,除非它們和開標簽的一部分匹配。
我們可以通過在不同嵌套級別使用不同的美元符引號字串常量來實現嵌套。 最常見的是寫函數定義的時候。比如:
$function$
BEGIN
RETURN ($1 ~ $q$[\t\r\n\v\\]$q$);
END;
$function$這里,序列 $q$[\t\r\n\v\\]$q$ 表示一個美元符包圍的字串文本 [\t\r\n\v\\], 在函數體被 PostgreSQL 執行的時候,它將被識別出來。 但是因為這個序列不匹配外層的美元符分隔符$function$, 所以只要考慮了外層字串,它就只是常量裡面的一些額外的字元而已。
如果有標簽的話,一個美元符包圍的字串遵循和無引號包圍的標識符相同的規則, 只是它不能包含美元符。標簽是大小寫相關的,因此 $tag$String content$tag$ 是正確的,而 $TAG$String content$tag$ 不對。
一個後面跟著關鍵字或者標識符的美元包圍的字串必須用空白隔開; 否則美元符包圍分隔符將會被認為前面標識符的一部分。
美元符包圍不是 SQL 標准,但是在寫復雜的字串文本的時候,它通常比標準的單引號語法更方便。 尤其是在其它常量里表現字串常量的時候更有用,比如經常在過程函數定義裡面的。 如果用單引號語法,每個上面例子里的反斜杠都必須寫四個,它們在作為字串文本分析的時候會減少為兩個, 然後在函數執行的時候在內層字串常量里會再次被解析為一個。
『陸』 sql語句中引號裡面怎麼包含引號
SQL語句里需要包含引號時,必須進行轉義,最簡單的辦法是將每個需要引用的引號寫成兩個引號。
下面舉例示範
將例句「Johnson's mother Marry」 寫入數據表
insertintot1(id,例句)values('001','Johnson''smotherMarry');
***如果寫成如下就會報錯
insertintot1(id,例句)values('001','Johnson'smotherMarry');
『柒』 sql語句中有單引號怎麼辦
如果插入的數據中包含單引號,就需要處理,用戶可以將單引號替換成兩個單引號,在sql
中連續兩個單引號就表示一個單引號字元,例如:
insert into yourTable(f1,f2) values(100,'ab''c')表示插入
新記錄f2欄位為ab'c
使用函數replace可以實現這個功能:
replace(yourStr,"'","''")
在.NET裡面,就要先檢測輸入的數據中有沒有單引號了,如果有,就要自動設置將一個單引號改為兩個單引號。
(7)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 數據表" (將數據表所有記錄刪除)