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

Validasi email di sql server 2008?

Berikut adalah contoh membuat tabel dengan aturan khusus untuk email dengan alamat (regexp). Kemudian contoh dengan pola query sql (Regexp). Dengan ini Anda harus dapat melakukan apa yang Anda inginkan

Buat tabel dengan regexp

create table Contacts (
FirstName nvarchar(30),
LastName nvarchar(30),
EmailAddress nvarchar(30) CHECK (dbo.RegExMatch('[a-zA-Z0-9_\-][email protected]([a-zA-Z0-9_\-]+\.)+(com|org|edu|nz)', EmailAddress)=1),
USPhoneNo nvarchar(30) CHECK (dbo.RegExMatch('\([1-9][0-9][0-9]\) [0-9][0-9][0-9]\-[0-9][0-9][0-9][0-9]', UsPhoneNo)=1))
INSERT INTO [talend].[dbo].[Contacts]
([FirstName]
,[LastName]
,[EmailAddress]
,[USPhoneNo])
VALUES
('Hallam'
,'Amine'
,'[email protected]’
,'0129-2090-1092')
,( 'encoremoi'
,'nimportequoi'
,'[email protected]'
,'(122) 190-9090')
GO

Jalankan permintaan sql dengan regexp

SELECT [FirstName]
,[LastName]
,[EmailAddress]
,[USPhoneNo]
FROM [talend].[dbo].[Contacts]
where [talend].[dbo].RegExMatch([EmailAddress],'[a-zA-Z0-9_\-][email protected]([a-zA-Z0-9_\-]+\.)+(com|org|edu|nz|au)') = 1

Kode Fungsi

using System;
using Microsoft.SqlServer.Server;
using System.Text.RegularExpressions;
public partial class RegExBase
{
[SqlFunction(IsDeterministic = true, IsPrecise = true)]
public static int RegExMatch( string matchString , string pattern)
{
Regex r1 = new Regex(pattern.TrimEnd(null));
if (r1.Match(matchString.TrimEnd(null)).Success == true)
{
return 1 ;
}
else
{
return 0 ;
}
}
};

Untuk penjelasan lebih lanjut, tunjukkan di sini tutorialnya ->

  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 - gabungkan baris ke dalam daftar yang dipisahkan koma

  2. SQL Server Intellisense tidak berfungsi di *beberapa* server

  3. Kembalikan baris yang terpengaruh dari Prosedur Tersimpan pada setiap INSERT untuk ditampilkan di halaman ASP.NET

  4. bagaimana cara menampilkan seluruh laporan dalam satu halaman menggunakan Pembuat Laporan?

  5. Bagaimana cara memanggil prosedur tersimpan dengan argumen menggunakan sqlcmd.exe?