sql問號
Ⅰ 用sqlyog的時候,創建的表中的漢字為什麼顯示是問號
原因:
teacName欄位後面的字元錯誤。
解決方法:
1、點擊Objects查看這個表的詳細信息。
網路-SQLyog
Ⅱ 帶參數的sql語句!不懂
sql ="insert into note(title,author,content) values(?,?,?)";
上面的這樣的就是帶參數的SQL語句。
下面的那樣的就是存儲過程。
set rs=server.CreateObject("adodb.recordset")
sql="select * from note"
rs.open sql,conn,1,3
rs.addnew
rs("title")=?
rs("author")=?
rs("content")=?
rs.update
rs.close
set rs=nothing
帶參數的SQL語句的優點:不用關心語句的單引號的問題了
,令外可以有效的防止SQL注入的非法入侵,這樣寫程序在編譯的時候就把那語句編譯了,不會與其它字元匹配了,這就是防止SQL注入的問題了,
唯一的缺點就是佔用系統資源的問題了,因為它是早被預編譯好的東西,所以系統在調用的時候是直接使用的,不需要再次進行對SQL語句進行編譯了,如果項目小的話,少量的這樣的代碼可以不用計較資源的問題了
Ⅲ sql語句中查找某欄位中含有某字元串的語句怎麼寫
select filename from oa_file where filename not like '%[!-¥]%'
或者這個:
select filename from oa_file where filename not like '%[!-?]%'
出現的問題就是問號和問好也是不一樣的,比如說英文標點半形的問號是「?」,英文標點全形的問號是「?」但是中文半形問號是「?」中文全形的問號是「?」
這些都是不一樣的,你搜出來的都是帶有英文半形問號的文件。
(3)sql問號擴展閱讀:
SQL中的欄位「包含」與「包含於」字元串的寫法
1、查詢表中某欄位值「包含」某字元串的所有記錄的方法
假如表中有一個name欄位,查詢name包含「張三」的所有記錄,可以這樣寫sql:
Stirng strsql="SELECT * FROM 表名 WHERE name LIKE 』%"+"張三"+"%』";
2、查詢某欄位值「包含於」某個字元串的所有記錄的方法
如果查詢表中name欄位包含於字元串「張三是個好學生」的所有記錄,可以這樣寫sql:
String strsql="SELECT * FROM 表名 WHERE INSTR(』張三是個好學生』,name)>0";
即可查詢,記錄中的name欄位值中包括:張、三、是、個、好、學、生、張三、......等所有記錄。
註:以上sql字元串中請將全形符號改為半形符號。