T SQL單雙引號 分隔符相關

2022-02-08 22:05:25 字數 1886 閱讀 8282

/*

----------------------------------------

sql database: sql server 2008

auther: cc

date: 2012-06-04

description:

雙引號(") : 用於表示引用的識別符號

中括號(): 用於表示括號中的識別符號

t-sql中常在下列情況下使用分隔符

a. 物件名稱或物件名稱的組成部分中包含保留字時

b. 使用其它特殊的字元時

-------------------------------------------

*/use

test

goif

object_id('

tempdb..#t

') is

notnull

drop

table

#tgo

create

table

#t(id

intidentity(1,1

), tt

nvarchar(10) )

/*-------------------------------

當 quoted_identifier 為 on 時,對於sql語句中的雙引號和單引號 (')的使用,sql server 遵循sql-92:

雙引號只能用於分隔識別符號,不能用於分隔字串。

為保持與現有應用程式的相容性,sql server 並不完全強制該規則。如果字串沒有超過識別符號的長度,則該字串可包含在雙引號內。

但不建議這樣做。

單引號必須用來包含字串,不能用於分隔識別符號。

如果字串包含單引號,則需要在單引號前再增加乙個單引號:

--------------------------

*/set quoted_identifier on

insert

into #t(tt) values ('

aa+aa')

insert

into #t(tt) values ('

aa''aa'

)/*id tt

1 aa+aa

2 aa'aa

*/insert

into #t(tt) values ("aa+

aa")

--訊息 207,級別 16,狀態 1,第 4 行

--列名 'aa+aa' 無效。

select

*from

#t/*

---------------------------------------------

當 quoted_identifier 為 off 時,對於雙引號和單引號的使用,sql server遵循如下規則:

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

單引號或雙引號可用於包含字串。

如果使用雙引號,嵌入的單引號不需要用兩個單引號來表示:

----------------------------------------------

*/set quoted_identifier off

insert

into #t(tt) values ("aa1+

aa1");

insert

into #t(tt) values ("aa1'

aa1");

insert into #t(tt) values (

'aa2+aa2'

);select * from #t

注乙個相關知識:

單雙引號,轉義符

1.雙引號括起來的字串,列印出來也是單引號 hello world hello world 2.使用單引號 hello world hello world 3.單雙引號混合使用 let s go let s go hello world she said hello world she said 4...

Python Python的單雙引號

python真的爽,單雙引號的運用太舒服了 在python中,使用單引號或雙引號是沒有區別的,都可以用來表示乙個字串 1.單雙引號都可以用來表達 輸入 print hello1 print hello2 輸出 hello1 hello22.還可以一起用,來避免混淆 輸入 print test the...

C 單雙引號區別

贏家只關注怎麼贏,輸家只關注贏家在幹嘛 自己從 python 轉 c 乙個很嚴重的問題是搞不清引號怎麼用。在 python 中,單雙引號無所謂,隨便用,只要別混用就好。但是 c 明顯不同,剛好今天做 leetcode 時結結實實踩了乙個坑,所以記錄在這邊。今天遇到的問題是類似這樣的 string s...