KanColle © 2014 DMM.com / KADOKAWA GAMES All Rights Reserved. / Animation by © Good Smile Company
MS SQL 查詢簡體字/模糊查詢/不分大小寫查詢/多欄查詢/表A插入表B
#1
查詢簡體字
在要搜尋的內容外面加 N
程式碼:
SELECT * FROM TableName WHERE [TableColumnName] = N'內容'
條件改為 N'內容' 就可以查到簡體內容了

模糊查詢
程式碼:
SELECT * FROM TableName WHERE [TableColumnName] = N'%內容%'
內容前後加上 % 就可以查詢部分內容

不分大小寫查詢 (例用 UPPER / UPPERCASE / LOWER / LOWERCASE 轉換後查詢)
程式碼:
SELECT * FROM TableName WHERE UPPER(TableColumnName) like UPPER(N'%STRING%')
TextArea儲存的資料無法用UPPER/LOWER查詢 (以下未實測)
可能要 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~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;
回覆


前往:


正在瀏覽這個主題的使用者: 1 位訪客