MS SQL不支援正則表示式,可以用CLR實現。1、 新建一個 MSSQL的資料庫專案,配置到你的資料庫中2、 在資料庫專案中新建一個函式庫,編寫如下程式碼: /// [SqlFunction] public static SqlBoolean RegexIsMatch(string input, string regex) { return new SqlBoolean(Regex.IsMatch(input, regex, RegexOptions.IgnoreCase)); }然後在資料庫專案上點選“右鍵”,選擇“部署”PS:此功能需要MSSQL2005或者以上版本支援 如果你使用的是.NET 3.5版本的話,需要在資料庫伺服器上安裝.net framework 3.5 目前SQLSERVER CLR 不支援.NET 4.0,所以如果你使用VS2010開發的話需要把專案版本修改成為.NET 2.0/3.5 使用方法:SELECT * FROM [table] WHERE dbo.RegexIsMatch([ID],"^\d+$") = 1
MS SQL不支援正則表示式,可以用CLR實現。1、 新建一個 MSSQL的資料庫專案,配置到你的資料庫中2、 在資料庫專案中新建一個函式庫,編寫如下程式碼: /// [SqlFunction] public static SqlBoolean RegexIsMatch(string input, string regex) { return new SqlBoolean(Regex.IsMatch(input, regex, RegexOptions.IgnoreCase)); }然後在資料庫專案上點選“右鍵”,選擇“部署”PS:此功能需要MSSQL2005或者以上版本支援 如果你使用的是.NET 3.5版本的話,需要在資料庫伺服器上安裝.net framework 3.5 目前SQLSERVER CLR 不支援.NET 4.0,所以如果你使用VS2010開發的話需要把專案版本修改成為.NET 2.0/3.5 使用方法:SELECT * FROM [table] WHERE dbo.RegexIsMatch([ID],"^\d+$") = 1