首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL 資料類型轉換與字串操作:CONVERT 函數、萬用字元與模式比對

     編輯:關於SqlServer

隱含與顯式資料類型轉換

SQL Server 能自動處理數值類型間的隱含轉換(如 SMALLINT 與 INT 比較),但字元與非字元類型間必須使用 CONVERT() 進行顯式轉換。

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.

字串操作與模式比對實戰

LIKE 運算子與萬用字元

解決「部分比對」需求,如搜尋描述包含特定關鍵字的站點:

-- 錯誤:僅比對完全相符
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]。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved