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

T-SQL:memeriksa format email

Saya menguji kueri berikut dengan banyak alamat email yang salah dan valid. Itu harus melakukan pekerjaan.

IF (
     CHARINDEX(' ',LTRIM(RTRIM(@email_address))) = 0 
AND  LEFT(LTRIM(@email_address),1) <> '@' 
AND  RIGHT(RTRIM(@email_address),1) <> '.' 
AND  CHARINDEX('.',@email_address ,CHARINDEX('@',@email_address)) - CHARINDEX('@',@email_address ) > 1 
AND  LEN(LTRIM(RTRIM(@email_address ))) - LEN(REPLACE(LTRIM(RTRIM(@email_address)),'@','')) = 1 
AND  CHARINDEX('.',REVERSE(LTRIM(RTRIM(@email_address)))) >= 3 
AND  (CHARINDEX('[email protected]',@email_address ) = 0 AND CHARINDEX('..',@email_address ) = 0)
)
   print 'valid email address'
ELSE
   print 'not valid'

Ia memeriksa kondisi berikut:

  • Tidak ada spasi yang disematkan
  • '@' tidak boleh menjadi karakter pertama alamat email
  • '.' tidak boleh menjadi karakter terakhir dari alamat email
  • Pasti ada '.' di suatu tempat setelah '@'
  • tanda '@' diperbolehkan
  • Nama domain harus diakhiri dengan setidaknya 2 ekstensi karakter
  • tidak boleh memiliki pola seperti '[email protected]' dan '..'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tentukan Langkah-Langkah untuk Kursor SQL Server - Tutorial SQL Server / TSQL

  2. Bagaimana saya bisa menghapus baris duplikat dalam tabel

  3. Berapa ukuran yang Anda gunakan untuk varchar(MAX) dalam deklarasi parameter Anda?

  4. Cara menghitung usia (dalam tahun) berdasarkan Tanggal Lahir dan getDate()

  5. SQL, Bagaimana Menggabungkan hasil?