SQL 2005身份证函数包含验证和15位转18位_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

SQL 2005身份证函数包含验证和15位转18位

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:验证包含函数身份证
黑客防线网安网讯:本文主要介绍了SQL Server 2005的身份证函数,其中包含验证和15位转18位。 具体示例代码如下:以下为引用的内容:USE [LzmTWWorks]GO/****** 对象:  UserDefinedFunction [Helper].[IDCard] ...

本文主要介绍了SQL Server 2005的身份证函数,其中包含验证和15位转18位

具体示例代码如下:

以下为引用的内容:

USE [LzmTWWorks]
GO
/****** 对象:  UserDefinedFunction [Helper].[IDCard]    脚本日期: 12/13/2007 19:16:33 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [Helper].[IDCard]
(
    @Card    varchar(18)
)
RETURNS
@TCard TABLE
(
     Input    varchar(18)
    ,IDCard    varchar(18)
    ,Valid    bit
)
AS
BEGIN
    DECLARE   
             @Input        as varchar(18)
            ,@IDCard    as varchar(18)
            ,@Valid        as bit

    DECLARE    
             @Length    as smallint
            ,@TmpCard    as varchar(18)
            ,@IsOld        as bit

    SET @Valid = 0
    SET @IDCard = ''
    SET @Input = ''

    IF @Card IS NULL GOTO Finish

    SET @Input = LTRIM(RTRIM(@Card)) /*去空格*/
    SET @Length = LEN(@Input)

    IF NOT @Length IN (15, 18) GOTO Finish /*非15、18位*/

    IF @Length = 15
        BEGIN
            IF ISNUMERIC(@Input) = 0 GOTO Finish /*非数字*/
            SET @TmpCard = LEFT(@Input, 6) + '19' + RIGHT(@input, 9) /*补充为17位*/
            SET @IsOld = 1
        END
    ELSE
        BEGIN
            IF ISNUMERIC(LEFT(@Input, 17)) = 0 GOTO Finish /*非数字*/
            SET @TmpCard = LEFT(@Input, 17) /*取前17位*/
            SET @IsOld = 0
        END

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-10114-1.html
网站维护教程更新时间:2012-03-21 02:29:54  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer