經常惆悵於Sql中字符變量的轉義問題,剛剛看到一篇文章感覺不錯,借來分享給大家
SELECT Count(0)和SELECT COUNT(*)和SELECT COUNT(??) 意思一樣的。
sql單引號問題解決 用轉義
提交sql語句時老因為單引號出錯
百度了一下用兩個單引號替換單引號就行了
content=content.replace("'","''");
SQL中的轉義字符怎么用呢?
我的數據庫中存在C_這樣開頭的表,也有C開頭的表,我現在使用like查詢出以C_開頭的表,則使用LIKE 'C_%'時,下划線被當作一個任意字符的關鍵字使用,怎么能夠查到我要的數
like 'C\_%' escape '\' \t是四個字符空一次 如果是4的倍數+1時用\t就那樣了 寫了個方法可以參考使用。在不固定長度的字段使用輸出保證能夠對齊 java轉義字符 收藏 \n 回車(\u000a) \t 水平制表符(\u0009) \b 空格(\u0008) \r 換行(\u000d) \f 換頁(\u000c) \' 單引號(\u0027) \" 雙引號(\u0022) \\ 反斜杠(\u005c) \ddd 三位八進制 \udddd 四位十六進制 上周發現還有其它需要轉義的字符,例如 String sName = "Java轉義字符(補遺)"; sName = sName.replaceFirst("(補遺)",""); out.println(sName); 如果你以為會輸出“Java轉義字符”,那你就錯了,事實上輸出“Java轉義字符()”,我也很奇怪,以為是中英文括號的問題,可是並不是,我不確定是否轉義問題,解決方法是 sName = sName.replaceFirst("\\(補遺\\)",""); 如果想查找“_cs”結尾的的賬戶 select * from [user] where loginname like '%_cs'是不行的,_ 被認為是任意的字符, 所以需要轉義字符,有兩種寫法: select * from [user] where loginname like '%[_]cs' select * from [user] where loginname like '%/_cs' escape'/' 通配符 含義 % 包含零個或更多字符的任意字符串。 _ 任何單個字符。 [ ] 指定范圍(例如 [a-f])或集合(例如 [abcdef])內的任何單個字符。 [^] 不在指定范圍(例如 [^a - f])或集合(例如 [^abcdef])內的任何單個字符。 LIKE 'Mc%' 將搜索以字母 Mc 開頭的所有字符串(如 McBadden)。 LIKE '%inger' 將搜索以字母 inger 結尾的所有字符串(如 Ringer、Stringer)。 LIKE '%en%' 將搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。 LIKE '_heryl' 將搜索以字母 heryl 結尾的所有六個字母的名稱(如 Cheryl、Sheryl)。 LIKE '[CK]ars[eo]n' 將搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。 LIKE '[M-Z]inger' 將搜索以字符串 inger 結尾、以從 M 到 Z 的任何單個字母開頭的所有名稱(如 Ringer)。 LIKE 'M[^c]%' 將搜索以字母 M 開頭,並且第二個字母不是 c 的所有名稱(如 MacFeather)。 使用 ESCAPE 關鍵字定義轉義符。在模式中,當轉義符置於通配符之前時,該通配符就解釋為普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,請使用: WHERE ColumnA LIKE '%5/%%' ESCAPE '/'符號 含義 LIKE '5[%]' 5% LIKE '5%' 5 后跟 0 個或更多字符的字符串 LIKE '[_]n' _n LIKE '_n' an, in, on (and so on) LIKE '[a-cdf]' a, b, c, d, or f LIKE '[-acdf]' -, a, c, d, or f LIKE '[ [ ]' [ LIKE ']' ]
SQL查詢中的轉義字符
2007-09-20 08:57
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/Adi_liu/archive/2007/12/06/1920606.aspx 本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/daryl715/archive/2007/02/14/1510014.aspx 使用 SQL 轉義序列
同時提供下列產品的其他版本:
使用 SQL 轉義序列
按照 JDBC API 的定義,Microsoft SQL Server JDBC Driver 支持使用 SQL 轉義序列。轉義序列用於 SQL 語句內,以告訴驅動程序應以不同的方式處理 SQL 字符串的轉義部分。當 JDBC 驅動程序處理 SQL 字符串的轉義部分時,它會將字符串的這一部分轉換為 SQL Server 可以理解的 SQL 代碼。 JDBC API 需要五種類型的轉義序列,JDBC 驅動程序支持所有這些轉義序列:
JDBC 驅動程序使用的轉義序列語法如下所示:
以下各部分介紹五種類型的轉義序列以及 JDBC 驅動程序如何支持它們。 LIKE 通配符文本JDBC 驅動程序支持 ResultSet rst = stmt.executeQuery("SELECT col3 FROM test1 WHERE col2
LIKE '\\_%' {escape '\\'}");
函數處理JDBC 驅動程序使用以下語法在 SQL 語句中支持函數轉義序列: {fn functionName}
其中, SELECT {fn UCASE(Name)} FROM Employee
下表列出當使用函數轉義序列時,JDBC 驅動程序支持的各種函數:
日期和時間文本用於日期、時間和時間戳文本的轉義語法如下所示: {literal-type 'value'}
其中,
例如: UPDATE Orders SET OpenDate={d '2005-01-31'}
WHERE OrderID=1025
存儲過程調用JDBC 驅動程序對於存儲過程調用支持 過程是存儲在數據庫中的可執行對象。通常,它是一個或更多的已經預編譯的 SQL 語句。調用存儲過程的轉義序列語法如下所示: {[?=]call procedure-name[([parameter][,[parameter]]...)]}
其中, 有關將 外部聯接JDBC 驅動程序支持 SQL92 左聯接、右聯接和完全外部聯接語法。外部聯接的轉義序列如下所示: {oj outer-join}
其中,外部聯接為: table-reference {LEFT | RIGHT | FULL} OUTER JOIN
{table-reference | outer-join} ON search-condition
其中, 例如: SELECT Customers.CustID, Customers.Name, Orders.OrderID, Orders.Status
FROM {oj Customers LEFT OUTER JOIN
Orders ON Customers.CustID=Orders.CustID}
WHERE Orders.Status='OPEN'
JDBC 驅動程序支持以下外部聯接轉義序列:
|