Access中字元常量定界符單引號和雙引號有什麼區別

2021-04-18 07:56:03 字數 3096 閱讀 4544

1樓:

select * from gz where 職稱="工程師"

這個語句有問題,肯定在除錯時出現錯誤,原因很簡單,完全的sql語句如下:

strsql="select * from gz where 職稱="工程師""

你應該知道,"select * from gz where 職稱="這是一個字串,字串到「=」這裡結束了,後面是「工程師」,是什麼?變數?不對!

字串?不對!這裡就會出現問題,而最後的「""」是一個空字串。

正確的語句應該是:

strsql="select * from gz where 職稱='工程師'"

雙引號到「'工程師'」後才結束,也就是這是應該完整的字串。

在sql語句中,單引號和雙引號的應用是有區別的。

例如:strsql="select * from gz where 職稱='" & 工程師 & "'"

那麼,「工程師」是字元型變數,注意:有單引號!

再如:strsql="select * from gz where "

說明,欄位id是數字型別欄位,變數pid是數字型別變數,注意:沒有了單引號!

再如:strsql="select * from gz where 職稱 like '%" & abc & "%'"

是萬用字元%的典型應用,一般這種查詢都是字元型欄位。

&是字串連線符, and、or、not等是邏輯運算子,它們的用法你可以參考有關資料。

2樓:匿名使用者

在access的sql中單引號和雙引號都可用。比較靈活。

3樓:說啊———喵

access中字元常量的定界符可以是單引號,也可以是雙引號。

在其vba中,如下例,「北京」兩個字要用引號引起來,可以用單引號

strsql = "select * from 學生 where 籍貫='北京'"

也可以用兩個連續雙引號表示一個雙引號

strsql = "select * from 學生 where 籍貫=""北京"""

但不能用strsql = 'select * from 學生 where 籍貫="北京"'

在access 2003中萬用字元%用*替代,例如查詢姓「李」的學生資訊

select * from 學生 where 姓名 like "李*";

&是字串連線運算子,例如"abc" & "def"得到字串"abcdef"

and是邏輯運算子,當兩個運算元同時為真時,其結果and的結果為真

例如:年齡》20 and 性別='女'

4樓:匿名使用者

第一個問題:單引號和雙引號沒有區別,只要成對出現就可以,比如:職稱=「工程師」或 職稱=『工程師』

第二個問題:*與%不一樣。在sql語言中*表示所有欄位,例如:

select * from gz;而%表示字元萬用字元,可以代替任意多個字元,例如: select * from gz where 職稱 like "%師" (查詢gz表中職稱末尾是「師」字的所有欄位資訊,那麼「工程師」,「建築師」等都會滿足條件)

第三個問題:&與and 有區別。and是邏輯運算並且的意思,結果為邏輯型,即是或否,例如:

select * from gz where 職稱="工程師" and 工資<1500(查詢工資表中工資小於1500元的工程師的資訊);而&是字串的連線符號,例如"good " & "morning" 結果為"good morning".

字串中單引號和雙引號有什麼區別

5樓:海天盛

1、含義不同。

單引號中的字元實際上表示一個整數,而整數值對應於編譯器使用的字符集中該字元的序列值。一般來說,我們的編譯器使用ascii字符集。所以「s」的含義實際上與小數115的含義相同。

而用雙引號引起的字串,代表的是一個指向無名陣列起始字元的指標。

例如:分別檢視」yes」/』yes』/』ye』/』y』四種字元在記憶體中的儲存形式,**如下:

int_tmain(intargc,_tchar*argv)chartest1="yes";

inttest2='yes';

printf("%x\n", &test2);

inttest3='ye';

printf("%x\n", &test3);

inttest4='y';

printf("%x\n", &test4);

return0;

實驗結果如下:

2、大小不同。

用單引號引起的一個字元大小就是一個位元組。

帶雙引號的字串大小是字元的總大小+1,因為帶雙引號的字串將二進位制零字元'\0'新增到字串的末尾。

6樓:polaris北斗

單引號是 字元

雙引號是 字串

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

7樓:

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

8樓:匿名使用者

sql中只支援單引號,表示字串常量

你這裡用的雙引號是其它編碼語言中的,與sql無關最終生成的sql是

select * from clients where logname='***' and password='yyy';

不要把程式語言中的字串連線與sql搞混了

9樓:匿名使用者

'"+name+"'此處的雙引是對變數的雙引號,而變數是一個字串,因此還要加一個'',兩個加號是連線字串!兄弟,還是去看下關於資料庫的知識啊,這些都是基礎。

10樓:

string sql 是定義一個字串變數,所以用「」來定義字串 單引號才是sql語句裡面用到的 而+name+ 是連線變數的,這裡可以吧單引號看成是字串而不是符號

11樓:蘭馨谷

文字欄位值需要用引號括起來

單引號雙引號一樣

但是vb字串外面已有雙引號了

所以用單引號方便一些

c語言中字元常量與字串常量有什麼區別

字元常量 在c語言中一個字元常量代表ascii字符集中的一個字元,在程式中用單引號把一個字元括起來作為字元常量。大小寫字母代表不同的字常量 單引號中的空格也是 字元常量只能包含一個字元 字元常量只能用但括號括起來。下面是常用字元的sacii a z 97 122 a z 65 90 0 9 48 5...

不能把字串常量賦予字元變數這句話怎麼理解,不是

程式的儲存區分為4塊 1 全域性靜態區 儲存全域性變數 靜態變數 2 字元常量版區 存放字串常量 3 棧權區 區域性變數 4 堆區 動態分配的記憶體 字元變數儲存的內容不是字串常量,可以被修改 字串常量是不能修改的 巨集定義的不是變數,只是一個標記,在程式預編譯的時候就是進行簡單的替換操作 記得采納...

能不能把字元常量或字元變數賦值給int型別的變數 (書上答案是不能我自己試了試可以)

可以,不過要強制型別轉換。如果該字元是由數字組成 e.g.1 1是可以強制轉換.而 a 的字元 理所當然是不能.除非轉換為字元 charcode a ascii 10 在vc 中常量和變數有什麼區別?c 資料型別之一 常量和變數 一 文字常量 常量之所以稱為 文字常量 其中 文字 是指我們只能以它的...