討論區內容 | 跳脫字元sql
再補充一些。"一個單引號變成兩個單引號"的動作,叫做CharacterEscape(字元跳脫)。例如在javascript中如果字串內需要包含單引號,但是單引號在javascript中是代表字串起迄標記的預設符號,所以這個字串就會有兩種表示法。 varMyString //改用雙引號表示字串起迄標記 MyString="LetgosResponse" //使用EscapeCharacter(跳脫字元)。就是反斜線 //這個時候,反斜線就是在告知直譯器,要把反斜線後面的下一個字元當作"字符"來處理,而不是控制字元 MyString=LetgosResponse 在VBScript也會遇到類似...
再補充一些。"一個單引號變成兩個單引號" 的動作,叫做 Character Escape(字元跳脫)。例如在 javascript 中如果字串內需要包含單引號,但是單引號在 javascript 中是代表字串起迄標記的預設符號,所以這個字串就會有兩種表示法。
var MyString //改用雙引號表示字串起迄標記 MyString = "Letgos Response" //使用 Escape Character(跳脫字元)。就是反斜線 //這個時候,反斜線就是在告知直譯器,要把反斜線後面的下一個字元當作 "字符" 來處理,而不是控制字元 MyString = Letgos Response
在 VBScript 也會遇到類似的問題,字串裡面有雙引號怎麼辦?大家是不是都用下面的方式處理勒? <% dim MyString MyString = "雙引號 "" 在 VBScript 也是個麻煩" Response.write MyString %>
相同的道理,在 SQL 語法中也是會有這種狀況,最常出現的也是單引號。
常見方法就是用 replace() 先在程式將一個單引號變成兩個雙引號 MyString = "Letgos Response" MyString = Replace(MyString, "", "") MySQL = "select * from MyTable where MyColumn = " & MyString " " adoRs.Open MySQL, adoCn
本來 SQL 語法中還有一個關鍵字 ESCAPE,不過我測試過了不能用在單引號上面且這個例子似乎只適用於 like 子句。下面是我從 MSSQL 說明文件裡面擷取出來的範例。 /* 使用 ESCAPE 子句執行模式比對 您可以搜尋含有一或多個特殊萬用字...