sql什么時(shí)候用單引號(hào) sql查詢語句中的單引號(hào),雙引號(hào),加號(hào)是什么意思?
sql查詢語句中的單引號(hào),雙引號(hào),加號(hào)是什么意思?SQL查詢語句中的單引號(hào)和雙引號(hào)可以用來引用“字符串”常量,加號(hào)可以用作算術(shù)“加法”運(yùn)算符或“連接器”。但是,它們?cè)趹?yīng)用于不同的數(shù)據(jù)庫時(shí)有很多不同之處
sql查詢語句中的單引號(hào),雙引號(hào),加號(hào)是什么意思?
SQL查詢語句中的單引號(hào)和雙引號(hào)可以用來引用“字符串”常量,加號(hào)可以用作算術(shù)“加法”運(yùn)算符或“連接器”。但是,它們?cè)趹?yīng)用于不同的數(shù)據(jù)庫時(shí)有很多不同之處,需要引起我們的重視。
例如,access數(shù)據(jù)庫和MySQL數(shù)據(jù)庫支持使用單引號(hào)或雙引號(hào)引用字符串常量,而MSSQL數(shù)據(jù)庫僅支持使用單引號(hào)引用字符串常量。
再舉一個(gè)例子,access數(shù)據(jù)庫和MSSQL數(shù)據(jù)庫支持?jǐn)?shù)字作為加法運(yùn)算符或連接運(yùn)算符,而MySQL數(shù)據(jù)庫只支持?jǐn)?shù)字作為加法運(yùn)算符,但不支持連接器。如果需要實(shí)現(xiàn)字符串連接,則必須使用concat函數(shù)。
例如,
1)select*from T1 where col1=“ABC”
2)select*from T1 where col1=“ABC”
語句1和2對(duì)于access數(shù)據(jù)庫和MySQL數(shù)據(jù)庫是合法的。在MSSQL中,只有語句1是合法的,語句2將報(bào)告錯(cuò)誤。
3)對(duì)于access和MSSQL數(shù)據(jù)庫,選擇T1
語句3中的col1 col2,如果這兩個(gè)字段是數(shù)字,數(shù)據(jù)庫引擎將執(zhí)行加法運(yùn)算,否則將執(zhí)行連接器合并這兩個(gè)字段的值;MySQL只對(duì)加號(hào)執(zhí)行算術(shù)加法運(yùn)算,如果需要連接多個(gè)字段值,則需要使用concat函數(shù),例如語句4
4)選擇concat(col1,col2)from In T1
SQL,insert into your table(F1,F(xiàn)2)values(100,“ABC”)字符串?dāng)?shù)據(jù)用單引號(hào)括起來。如果插入的數(shù)據(jù)包含單引號(hào),則需要對(duì)其進(jìn)行處理。可以用兩個(gè)單引號(hào)替換單引號(hào)。在SQL中,兩個(gè)連續(xù)的單引號(hào)表示一個(gè)單引號(hào)字符,例如insert into your table(F1,F(xiàn)2)values(100,“ab”“C”)將新記錄F2字段插入為ab“C”。使用函數(shù)replace可實(shí)現(xiàn)此函數(shù):
sql語句插入的數(shù)據(jù)中含有單引號(hào)怎么辦?
通常使用單引號(hào),但SQL單引號(hào)和雙引號(hào)被視為字符串。它們都能識(shí)別,所以你可以把它們當(dāng)作一件事來對(duì)待。但是在其他語言編輯器中,你只能使用單引號(hào),因?yàn)槟闶褂玫木庉嬈饕灿须p引號(hào)。如果拼寫SQL時(shí)出現(xiàn)雙引號(hào),如果Id號(hào)是第一個(gè)字符中的Id,則是錯(cuò)誤的,可以用三種方法實(shí)現(xiàn):
1,右截取字符串函數(shù)和Len函數(shù):
1
2
update table set register number=right(注冊(cè)號(hào),Len(注冊(cè)號(hào))-1)where left(注冊(cè)號(hào))1)=“”“”
update table“身份證號(hào)(ID號(hào),ID(ID號(hào))))Left(ID號(hào)ID號(hào)ID號(hào)ID 1)=
2 substring substring intercept string函數(shù):
1
2
update table set register number=substring(注冊(cè)號(hào)2100)其中Left(注冊(cè)號(hào)1)=“”
update table set identity card number(=right ID number 2100)set=right(ID number,1)=“”,replace character substring函數(shù):Registration number=replace(Registration number,“”“”)
update table set ID number=replace(ID number,“”“”,“”)
在SQL中,字符類型只能使用單引號(hào)。雙引號(hào)是指鏈接數(shù)據(jù)庫的程序。如果要使用雙引號(hào),則需要在SQL中添加“1”。如果要添加單引號(hào),則需要在其前面添加一個(gè)“”,使其成為“”、“”
sql語句中什么時(shí)候用單引號(hào)什么時(shí)候用雙引號(hào)?如圖中的紅為什么用雙引號(hào)?
在數(shù)據(jù)庫端,當(dāng)SQL語句引用字符類型參數(shù)時(shí),需要添加單引號(hào)。在一些數(shù)據(jù)庫中,例如access查詢對(duì)象,可以直接使用雙引號(hào)或單引號(hào)。當(dāng)外層使用雙引號(hào)時(shí),內(nèi)層的字符類型參數(shù)需要使用單引號(hào)。請(qǐng)注意,像MSSQL和MySQL這樣的大中型數(shù)據(jù)庫只接受單引號(hào),雙引號(hào)是常見字符。
此外,在應(yīng)用程序端,雙引號(hào)通常用于表示字符類型參數(shù)。SQL語句被視為字符串參數(shù)。作為SQL語句的內(nèi)部字符參數(shù),必須使用單引號(hào)將其與應(yīng)用程序字符串引用區(qū)分開來。