01-05-2011, 12:43 PM
查詢簡體字
在要搜尋的內容外面加 N
條件改為 N'內容' 就可以查到簡體內容了
模糊查詢
內容前後加上 % 就可以查詢部分內容
不分大小寫查詢 (例用 UPPER / UPPERCASE / LOWER / LOWERCASE 轉換後查詢)
TextArea儲存的資料無法用UPPER/LOWER查詢 (以下未實測)
可能要 select * from TableName Where textarea like STRING COLLATE Chinese_Taiwan_Stroke_CI_AS
CI:不分大小寫;_AS:區分腔調字; _CS:區分大小寫;_AI:不區分腔調字
多欄位查詢
把 TableColumnName1~3 利用 + 連結成一個字串,再從字串裡用 Like 判斷
TableColumnName1 必填,非Null,故不使用ISNULL替換數值
TableColumnName2/TableColumnName3 非必填,可能Null,Null會導致加總出來的結果是Null
所以ISNULL裡第2個參數表示取代的值,若是數字加總就改 '0' ,字串則用空 '' 替換
利用底線連結,讓數字也會變成字串效果
表A插入表B
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
或者
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
在要搜尋的內容外面加 N
程式碼:
SELECT * FROM TableName WHERE [TableColumnName] = N'內容'
模糊查詢
程式碼:
SELECT * FROM TableName WHERE [TableColumnName] = N'%內容%'
不分大小寫查詢 (例用 UPPER / UPPERCASE / LOWER / LOWERCASE 轉換後查詢)
程式碼:
SELECT * FROM TableName WHERE UPPER(TableColumnName) like UPPER(N'%STRING%')
可能要 select * from TableName Where textarea like STRING COLLATE Chinese_Taiwan_Stroke_CI_AS
CI:不分大小寫;_AS:區分腔調字; _CS:區分大小寫;_AI:不區分腔調字
多欄位查詢
程式碼:
SELECT * FROM TableName
WHERE UPPER(TableColumnName1 +'_'+ ISNULL(TableColumnName2,'') +'_'+ ISNULL(TableColumnName3,'')
LIKE UPPER(N'%FRANK%')
TableColumnName1 必填,非Null,故不使用ISNULL替換數值
TableColumnName2/TableColumnName3 非必填,可能Null,Null會導致加總出來的結果是Null
所以ISNULL裡第2個參數表示取代的值,若是數字加總就改 '0' ,字串則用空 '' 替換
利用底線連結,讓數字也會變成字串效果
表A插入表B
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
或者
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;