Sql server 对电子邮件创建约束

Sql server 对电子邮件创建约束,sql-server,regex,check-constraints,Sql Server,Regex,Check Constraints,请帮助我如何在电子邮件上创建仅包含字母、整数和@的约束。我的错误没有解决 CREATE TABLE emails ( email varchar CONSTRAINT proper_email CHECK (email ~* '^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+[.][A-Za-z]+$') ); 错误: ~ 我认为这个查询适合您: CREATE TABLE EMAILS ( EMAIL VARCHAR(MAX) CONSTRA

请帮助我如何在电子邮件上创建仅包含字母、整数和@的约束。我的错误没有解决

CREATE TABLE emails (
    email varchar
    CONSTRAINT proper_email 
       CHECK (email ~* '^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+[.][A-Za-z]+$')
);
错误:

 ~

我认为这个查询适合您:

CREATE TABLE EMAILS (
EMAIL VARCHAR(MAX)
CONSTRAINT PROPER_EMAIL  CHECK (EMAIL LIKE'%[^A-Z]%' AND EMAIL LIKE '%[^0- 
9]%' AND EMAIL LIKE '%@%'AND EMAIL LIKE '%.com%'
AND EMAIL NOT LIKE '%[!-)]%' AND EMAIL NOT LIKE '%[-!#%&+,./:;<=>`{|}~" 
()*\\\_\^\?\[\]\''\/]%' {ESCAPE '\'} 
));
GO
创建表格电子邮件(
电子邮件VARCHAR(最大值)
电子邮件检查(类似“[^A-Z]”的电子邮件和类似“[^0-
9] “%”和类似“@%”的电子邮件以及类似“%.com%”的电子邮件
电子邮件不象“%[!-)]%”,电子邮件不象“%[-!#%&+,./:;`{124;}~”
()*\\\\\\\^\?\[\]\''\/]%'{ESCAPE'\'}
));
去

好的,先生,但是这个查询还包含其他字符。因为我只需要字母表字符、整数和@和.,。你能给我一个你期望的例子吗?@Muhammaddnan我的问题是在电子邮件范围(A-Z)和(A-Z)以及(@)和(,)上创建约束。例如:Adnan123@gmail.com但不要插入其他字符,如#$&……我已经编辑了查询,您可以尝试now@MuhammadkhawajaINSERT转换为电子邮件值('MALas123@GMAIL.COM//');插入了数据。但我的结果不是save//dash。在后面重新发布相同的问题只会表明不愿意解决非常基本的问题。您需要了解tsql没有真正的正则表达式功能,因此尝试使用它将失败。