Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Fungsi Verifikasi Email SQL menggunakan Regex

Jawaban singkatnya adalah tidak, itu tidak bisa dilakukan. Sintaks untuk LIKE tidak sama dengan (dan jauh lebih lemah daripada) ekspresi reguler. Lihat juga SQL Server Regular ekspresi di T-SQL

Tetapi Anda dapat melakukan lompatan ke .Net dan melakukan pencocokan di sana. Anda dapat membuat instance VBScript.RegExp di dalam T-SQL menggunakan sp_OACreate dan gunakan itu.

CREATE FUNCTION dbo.isValidEmailFormat
(
    @Email varchar(100)
)
RETURNS bit
AS
BEGIN
    DECLARE @pattern varchar(4000)
    SET @pattern = '[a-zA-Z0-9_\-][email protected]([a-zA-Z0-9_\-]+\.)+(com|org|edu|nz|au)'
    DECLARE @Result bit

    DECLARE @objRegexExp INT
    EXEC sp_OACreate 'VBScript.RegExp', @objRegexExp OUT

    EXEC sp_OASetProperty @objRegexExp, 'Pattern', @pattern
    EXEC sp_OASetProperty @objRegexExp, 'IgnoreCase', 1
    EXEC sp_OASetProperty @objRegexExp, 'MultiLine', 0
    EXEC sp_OASetProperty @objRegexExp, 'Global', false
    EXEC sp_OASetProperty @objRegexExp, 'CultureInvariant', true

    EXEC sp_OAMethod @objRegexExp, 'Test', @Result OUT, @Email

    EXEC sp_OADestroy @objRegexExp

    RETURN @Result
END

Intip Kesalahan verifikasi email reguler - menggunakan JavaScript untuk melihat apakah Anda ingin sedikit membatasi karakter apa yang diizinkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008:Kesalahan mengonversi tipe data nvarchar ke float

  2. Bagaimana cara mencadangkan pekerjaan Agen Server SQL?

  3. Alat Gratis Sql Server Profiler

  4. pisahkan nilai yang dipisahkan koma dan simpan dalam tabel di server sql

  5. ExecutenonQuery tidak berfungsi