易截截图软件、单文件、免安装、纯绿色、仅160KB

身份证验证算法(SQL版)

身份证验证算法(SQL版)
/**//*
验证身份证算法
By:刘志伟
2008-1-29与天津
*/
CREATE FUNCTION [fn_ValidateIDC]
(
@idc varchar(18)
)RETURNS BIT
AS
BEGIN
IF LEN(@idc)<>15 AND LEN(@idc)<>18--身份证号只有15或18位
RETURN(0)
IF LEN(@idc)=15  --如果是15位身份证 则只验证日期和是否数字格式
   IF ISDATE('19'+SUBSTRING(@idc,7,6))=0 OR ISNUMERIC(@idc)=0
       RETURN(0)
    ELSE
       RETURN(1)
/**//**//**//*
18位身份证 验证日期 校验位
*/
IF ISDATE(SUBSTRING(@idc,7,8))=0 OR ISNUMERIC(SUBSTRING(@idc,1,17))=0--验证日期和前17位是否数字格式
   RETURN(0)
/**//**//**//*验证校验位开始*/
DECLARE @validFactors VARCHAR(17),@validCodes VARCHAR(11),@i TINYINT,@iTemp INT
SELECT @validFactors='79A584216379A5842',@validCodes='10X98765432',@i=1,@iTemp=0
WHILE @i<18
   BEGIN
      SELECT @iTemp=@iTemp+CAST(SUBSTRING(@idc,@i,1) AS INT)*(CASE SUBSTRING(@validFactors,@i,1) WHEN 'A' THEN 10 ELSE SUBSTRING(@validFactors,@i,1) END)
            ,@i=@i+1
   END
IF SUBSTRING(@validCodes,@iTemp%11+1,1)=RIGHT(@idc,1)
   RETURN 1
ELSE
   RETURN 0
RETURN NULL
END
GO
http://www.cnblogs.com/wf5360308/articles/1251009.html


相关文档:

Sql Server基本函数

1.字符串函数
长度与分析用
datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格
substring(expression,start,length) 不多说了,取子串
right(char_expr,int_expr) 返回字符串右边int_expr个字符
字符操作类
upper(char_expr) 转为大写
lower(char_expr) 转为小写
space(int_expr) 生成int_expr个空格 ......

Sql函数大全

---返回表达式中指定字符的开始位置
select charindex('c','abcdefg',1)
---两个字符的值之差
select difference('bet','bit')
---字符最左侧指定数目
select left('abcdef',3)
---返回字符数
select len('abcdefg')
--转换为小字符
select lower('ABCDEFG')
--去左空格后
select ltrim('   &nbs ......

SQL round()详解


SQL中round()函数用法
SQL round()详解
round有两个重载,一个有带有两个参数的,一个是带有三个参数的,
每一个参数都相同是要处理的数,
1.带有两个参数.每二个参数是小数点的左边第几位或右边第几位,分别用正负表示.左边为负,右边为负.为四舍五入.
select round(748.585929,-1) 750.000000
select round(748.58592 ......

备份和还原SQL Server及压缩Access数据库

*
 * 功能说明:备份和恢复SQL Server数据库
 * 作者: 刘功勋;
 * 版本:V0.1(C#2.0);时间:2007-1-1
 * 当使用SQL Server时,请引用 COM组件中的,SQLDMO.dll组件
 * 当使用Access中,请浏览添加引用以下两个dll
 *          引用C:/Progra ......

C#连接ACESS时,sql语句有错

在写sql语句时,一般都是一句解决,从来没想过说,把sql语句拆开来写。
例如下面这句:  string readstring = "select * from 实例 where 实例ID='"+eid+"'";
然后执行 Myconnection();
        DataSet ds = new DataSet();
        OleD ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号