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 資料型別之一 常量和變數 一 文字常量 常量之所以稱為 文字常量 其中 文字 是指我們只能以它的...