sql语句判断Email格式和用户名中不能有特殊字符(用户名只包含字母、数字、下划线)的语句怎么写
SELECT  email_address
    FROM  email
    WHERE  REGEXP_LIKE (email_address,'[a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}');

或者:

select id       , name       , email  from t_superheros  where regexp_like        (email        ,'^\w+(\.\w+)*+@\w+(\.\w+)+$');
SELECT
EmailAddress,
CASE WHEN EmailAddress LIKE '%_@_%_.__%'
AND EmailAddress NOT LIKE '%[any obviously invalid characters]%'
THEN 'Could be'
ELSE 'Nope'
END Validates
FROM
Table

[any obviously invalid characters]这个填写你不要的字符。

AS BEGIN
DECLARE @AlphabetPlus VARCHAR(255)
, @Max INT -- Length of the address
, @Pos INT -- Position in @EmailAddr
, @OK BIT  -- Is @EmailAddr OK
-- Check basic conditions
IF @EmailAddr IS NULL
OR NOT @EmailAddr LIKE '_%@__%.__%'
OR CHARINDEX(' ',LTRIM(RTRIM(@EmailAddr))) > 0
RETURN(0)
SELECT @AlphabetPlus = 'abcdefghijklmnopqrstuvwxyz01234567890_-.@'
, @Max = LEN(@EmailAddr)
, @Pos = 0
, @OK = 1
WHILE @Pos < @Max AND @OK = 1 BEGIN
SET @Pos = @Pos + 1
IF NOT @AlphabetPlus LIKE '%'
+ SUBSTRING(@EmailAddr, @Pos, 1)
+ '%'
SET @OK = 0
END -- WHILE
RETURN @OK
END
go
GRANT EXEC on dbo.udf_txt_isEmail to PUBLIC
go

本文将介绍在SQL Server 2005中使用正则表达式的情况,大家可以一步一步的学习。

AD:

CLR用户定义函数只是在.NET 程序集中定义的静态方法。CREATE FUNCTION 语句已扩展为支持创建 CLR 用户定义函数。

1、创建数据库项目

2、添加用户定义函数

以下是演示代码:

Code
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.Text.RegularExpressions;

// 示意代码
public partial class UserDefinedFunctions
{
public static readonly RegexOptions Options =

RegexOptions.IgnorePatternWhitespace | RegexOptions.Singleline;

[Microsoft.SqlServer.Server.SqlFunction]
public static string RegexValue(SqlChars input, SqlString pattern)
{
Regex regex = new Regex(pattern.Value, Options);

return  regex.Match(new string(input.Value)).Value;
}
}

3、将自定义函数关联到数据库

4、Sql 查询分析器

为了确保SQL可以执行托管代码,执行下面的语句:

EXEC sp_configure 'clr enabled', 1

sql 如下:
select dbo.RegexValue('2008-09-02',N'\d{4}') from Table

=============================================

sql判断Email和用户名相关推荐

  1. oracle判断非空并拼接,oracle sql 判断字段非空,数据不重复,插入多跳数据

     oracle sql 判断字段非空,数据不重复 select distinct(mobile) from wx_user_mobile where active_time is not null ...

  2. php 表单校验函数库(判断email格式是否正确、http地址是否合法有效、手机号码是否合法)...

    /*** 表单校验函数库*//*** 判断email格式是否正确* @param $email*/ function is_email($email) {return strlen($email) & ...

  3. sql判断数据库类型数据_SQL数据类型

    sql判断数据库类型数据 SQL | 资料类型 (SQL | Data Types) Just like other programming languages, facilities of defi ...

  4. sql判断基数_SQL Server中的基数估计框架版本控制

    sql判断基数 This is a small post about how you may control the cardinality estimator version and determi ...

  5. sql登录名和用户名_通过分配角色和权限来移动或复制SQL登录名

    sql登录名和用户名 This article speaks to, how to copy SQL Logins on the new server with Server Level roles ...

  6. Sql Server中的用户名和登录名

    Sql Server中的用户名和登录名(或服务器账号)搞迷糊(如下图所示): 虽然用sa(登录名)就搞定一切东西了,当然这会存在一些安全隐患. 登录名 服务器方的一个实体,使用一个登录名只能进入服务器 ...

  7. SQL判断某列中是否包含中文字符、英文字符、纯数字,数据截取

    SQL判断某列中是否包含中文字符.英文字符.纯数字 一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' [吖-座]是中文字符集第一个到最后一个的范围,虽 ...

  8. oracle如何判断数字中有字母,SQL 判断含有字母和数字的字符串

    SQL 判断含有字母和数字的字符串,你想从一个表里筛选出部分行数据,筛选条件是你感兴趣的那个列只包含字母和数字字符,考虑下面的视图 V(SQL Server 用户需要把字符串连接操作符||替换为 +) ...

  9. SQL 判断字段是否为中文、字母、数字

    SQL 判断字段是否为中文.字母.数字 ascii ( col ) 数字:48 - 57 字母:65 - 123 汉字:123+ 如:判断中文 select * from dws_new_role w ...

最新文章

  1. lintcode:排颜色 II
  2. Oracle相关报错
  3. redhat-5.4故障排除
  4. 技术思辨:GCN和CNN到底有什么差别?
  5. js udp通信_Node.JS实战17:开发一个正向代理服务器
  6. kali新手入门教学(16)--如何在校园网下使用桥接模式上网
  7. Zune无法连接手机的解决办法
  8. 启用计算机并口,电脑并口被禁用怎么办
  9. 无线网卡SP-WL450U的驱动问题
  10. 外币折算、汇兑损益、重估
  11. VS C++项目打开时报 fatal error RC1015
  12. 把VBA转换成JAVA_请教,我用Excel中生成了Java代码,用VBA生成Jav
  13. (二)textarea中placeholder不显示
  14. 平台设备驱动中的prob是怎么被调用的?为什么说是bus提供的probe优先调用?
  15. 全国程序员高考卷曝光,你能答对几题?
  16. 大学自学html有前途吗,大学中最“牛逼”,最有前途的3个专业,考上就是金饭碗...
  17. 定位、相对定位、绝对定位
  18. 光盘可以读但不能拷贝_影楼管理:是时候告别刻录光盘拷贝U盘了
  19. electron从零开始做个倒计时
  20. C语言程序设计孙家啸第一版,4月广东省高等教育学考试各专业课程使用教材.doc...

热门文章

  1. 噬灵僵尸异界游最新章节
  2. Ipad在局域网中连接虚拟机最简单的办法
  3. Android设备通过USB线连接PC进行Socket通信
  4. unity怎么显示骨骼_Unity骨骼优化(转)
  5. 中值滤波原理及matlab实现代码
  6. sqlserver varchar 类型存储生僻字,会变成问号,而nvarchar类型不会 是什么原理? (㙍、㮾,䶮)
  7. 如何通过海外社交媒体推广APP
  8. 每日Reverse之reverse2
  9. Matlab中用于数据预测spline()函数的使用
  10. 华夏幸福创新中心携手入驻企业参展科博会 加速区域经济发展