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

SQL Server 使用 ISNUMERIC 函數快速檢查欄位是否為數字

     編輯:關於SqlServer

應用場景

當資料表包含字串型欄位,但需篩選出非數字資料(如髒資料清理、資料遷移前驗證),可利用內建 ISNUMERIC 函數以 SQL 敘述句一次完成,避免逐筆程式處理,效能極佳。

語法與回傳值

ISNUMERIC ( expression )
  • expression:欲檢查的運算式(欄位、變數或常數)。
  • 回傳 int:1 表示可轉換為有效數值型別(int、float、money、decimal);0 表示否。

實用查詢範例

找出 目標欄位 非數字的列:

SELECT *
FROM 表名
WHERE ISNUMERIC(目標欄位) = 0

注意事項

  • ISNUMERIC 只要字串「看起來像數字」即回傳 1,包含科學標記法(如 1e4)、貨幣符號($100)等,若需嚴格限定純數字,建議搭配 TRY_CAST 或 TRY_CONVERT(SQL Server 2012+)進一步驗證。
  • 大量資料查詢時,確保欄位有適當索引或使用覆蓋索引以提升效能。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved