SELECT O.name AS ObjectName, C.name AS ColumnName
FROM sys.columns C
INNER JOIN sys.objects O ON C.object_id = O.object_id
WHERE C.name LIKE '%ColumnName%' -- 替換為欲查詢的欄位名稱
ORDER BY O.name, C.name;
SELECT * FROM tb WHERE tb.name LIKE '%張三%';
缺點:會誤比對「秦張三八」等包含關鍵字的值。
若欄位儲存格式為 ,張三,李四,王五, (前後含逗號),可用:
SELECT * FROM tb WHERE tb.name LIKE '%,張三,%';
原理:逗號作為邊界,避免部分比對。
前端勾選產生 1, 21, 13 (逗號後有空格),直接 LIKE '%,21,%' 會失效。
解決:寫入資料庫前移除空格 → REPLACE(value, ' ', '') 得 1,21,13,再加前後逗號 → ,1,21,13,,查詢才精確。
sys.columns + sys.objects。