SQL Server 能自動處理數值類型間的隱含轉換(如 SMALLINT 與 INT 比較),但字元與非字元類型間必須使用 CONVERT() 進行顯式轉換。
CONVERT(目標資料類型(長度), 來源運算式)
範例 1: 貨幣欄位轉字串並串接文字
SELECT CONVERT(CHAR(8), price) + 'US Dollars' FROM orders
範例 2: BIT 欄位轉字串避免型別衝突
SELECT 'The vote is ' + CONVERT(CHAR(1), vote) FROM opinion
-- 結果:The vote is 1 / The vote is 0
若不轉換將產生錯誤:Implicit conversion from datatype 'varchar' to 'bit' is not allowed.
解決「部分比對」需求,如搜尋描述包含特定關鍵字的站點:
-- 錯誤:僅比對完全相符
SELECT site_name FROM site_directory WHERE site_desc = 'trading card'
-- 正確:使用 % 萬用字元進行部分比對
SELECT site_name FROM site_directory WHERE site_desc LIKE '%trading card%'
萬用字元說明:
[A-M] 代表 A 到 M)依站點名稱首字母分頁,A-M 與 N-Z 兩頁:
-- 第一頁:A-M 開頭
SELECT site_name FROM site_directory WHERE site_name LIKE '[A-M]%'
-- 第二頁:N-Z 開頭
SELECT site_name FROM site_directory WHERE site_name LIKE '[N-Z]%'
[] 中的範圍表示法極適合此類分組查詢,可組合多個範圍如 [A-CX-Z]。