`
骑猪逛街666
  • 浏览: 141765 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Greenplum函数 - 身份证号15位转18位

 
阅读更多

阅读原文请点击

摘要: 前几天一直有人在问,如何在Greenplum里面实现身份证号15位到18位的转换函数,今天网上搜了一下,看了看大概的逻辑,做了个简单实现,转换逻辑不懂的,请自行百度吧,这里放出函数内容,供大家使用: 函数: -- Function: idcard15to18(character) -- DROP

前几天一直有人在问,如何在Greenplum里面实现身份证号15位到18位的转换函数,今天网上搜了一下,看了看大概的逻辑,做了个简单实现,转换逻辑不懂的,请自行百度吧,这里放出函数内容,供大家使用:

函数:

-- Function: idcard15to18(character)
-- DROP FUNCTION idcard15to18(character);

CREATE OR REPLACE FUNCTION idcard15to18(card character)
  RETURNS character AS
$BODY$declare
    W int[];
    A char[];
    S integer;
    RESULTS char(18);

begin
    if CARD is null then
        return '';
    end if;
    if length(CARD) <> 15 then
        return CARD;
    end if;
    W := array[7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
    A := array['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];
    RESULTS := substr(CARD, 1, 6)||'19'||substr(CARD, 7, 9);
    S := 0;
    begin
        for i in 1..17 loop
            S := S+substr(RESULTS, i, 1)::int*W[i];
        end loop;
    exception
        when Others then
            return '';
    end;
    S := mod(S,11);
    RESULTS := RESULTS||A[S+1];
    return(RESULTS);
end;$BODY$
  LANGUAGE plpgsql VOLATILE;
ALTER FUNCTION idcard15to18(character)
  OWNER TO dgadmin;
COMMENT ON FUNCTION idcard15to18(character) IS '身份证15位转18位函数';

示例:

tpch1g=# select  idcard15to18('123456789123456');
    idcard15to18
--------------------
 12345619789123456X
(1 row)

End~

阅读原文请点击

分享到:
评论

相关推荐

    greenplum-db(oopen-source-greenplum-db-6.19.0-rhel7-x86_64.rpm)

    greenplum-db(oopen-source-greenplum-db-6.19.0-rhel7-x86_64.rpm), Greenplum是全球首个开源、多云大数据平台。2019年被Gartner列为全球十大经典和实时数据分析产品中唯一开源数据库。

    greenplum常用函数-基础

    根据给定的文件内容,我们将详细介绍Greenplum中常用的基础函数。 首先,创建表是数据库管理中的基础操作。在Greenplum中,创建表可以通过CREATE TABLE语句实现,并且可以指定数据类型、默认值,以及通过...

    greenplum-db-6.0.0-beta.7-rhel7-x86_64.zip

    greenplum-db-6.0.0-beta.7-rhel7-x86_64.zip 包含greenplum-db-6.0.0-beta.7-rhel7-x86_64.rpm 安装包,以及安装依赖包: 正在解决依赖关系 --&gt; 正在检查事务 ---&gt; 软件包 greenplum-db.x86_64.0.6.0.0_beta....

    greenplum5.9.0安装包,greenplum-cc-web安装包

    greenplum5.9.0安装包,greenplum-cc-web安装包,greenplum-cc-web-4.2.0-LINUX-x86_64.zip,greenplum-db-5.9.0-rhel6-x86_64.zip

    greenplum-db(open-source-greenplum-db-6.19.0-rhel6-x86_64.rpm)

    greenplum-db(open-source-greenplum-db-6.19.0-rhel6-x86_64.rpm), Greenplum是全球首个开源、多云大数据平台。2019年被Gartner列为全球十大经典和实时数据分析产品中唯一开源数据库。

    greenplum-db(greenplum-db-6.19.0-ubuntu18.04-amd64.deb)

    greenplum-db(greenplum-db-6.19.0-ubuntu18.04-amd64.deb), Greenplum是全球首个开源、多云大数据平台。2019年被Gartner列为全球十大经典和实时数据分析产品中唯一开源数据库。

    greenplum-db-6.10.0-rhel7-x86-64.rpm

    greenplum-db-6.10.0-rhel7-x86_64.rpm greenplum 数据库linux安装包!

    greenplum-db-6.1.0-rhel7-x86_64.rpm

    greenplum-6.1.0安装包

    greenplum-db-6.13.0-rhel7-x86_64.zip

    - **安装文件**:你提供的"greenplum-db-6.13.0-rhel7-x86_64.rpm"是用于RHEL 7.x的安装包,适用于64位系统。 - **安装步骤**: 1. 安装依赖:确保系统已经安装了必要的依赖,如GCC、OpenSSL、Perl等。 2. 添加...

    greenplum-db-5.11.3-rhel7-x86_64.zip

    "greenplum-db-5.11.3-rhel7-x86_64.bin"是主安装程序,用于在RHEL7系统上部署Greenplum,而"greenplum-db-5.11.3-rhel7-x86_64.bin.sha256"则是其SHA256校验值,用于验证下载的安装文件是否完整无误,防止在传输...

    greenplum-db-6.7.0-rhel7-x86_64.rpm

    greenplum-db-6.7.0-rhel7-x86_64 release安装包

    Greenplum-db-4.2.2.4-build-1-CE-RHEL5-i386安装文件(验证绝对可用)

    首先,你需要下载名为"greenplum-db-4.2.2.4-build-1-CE-RHEL5-i386.bin"的安装文件。这个bin文件是一个自包含的可执行文件,包含了所有安装所需的组件。下载完成后,通过以下命令将其解压: ```bash chmod +x ...

    greenplum-cc-web-6.3.0-gp6-rhel7-x86_64.zip

    通过下载"greenplum-cc-web-6.3.0-gp6-rhel7-x86_64.zip",用户可以获得完整的安装包,按照指导文档部署Greenplum CC Web,从而充分利用其功能,提升大数据处理和分析的效率。同时,持续关注官方更新和社区讨论,...

    greenplum-cc-web-6.2.0-gp6-rhel7-x86-64.7z

    1. 解压文件:首先,你需要解压下载的greenplum-cc-web-6.2.0-gp6-rhel7-x86_64.7z压缩包,可以使用7-Zip或者在Linux下使用tar命令进行解压。 2. 安装依赖:确保系统已安装所有必要的依赖库,例如Java运行环境(JRE...

    greenplum-db-6.0.1-rhel7-x86_64.rpm安装包

    Greenplum 大数据平台基于MPP(大规模并行处理)架构,具有良好的弹性和线性扩展能力,内置并行存储、并行通讯、并行计算和优化技术,兼容 SQL 标准,具备强大、高效、安全的PB级结构化、半结构化和非结构化数据存储...

    greenplum-db-6.2.1-rhel7-x86_64.rpm

    greenplum-db-6.2.1-rhel7-x86_64.rpm Pivotal Greenplum 6.2 Release Notes This document contains pertinent release information about Pivotal Greenplum Database 6.2 releases. For previous versions ...

    greenplum-cc-web-6.8.0-gp6-rhel7-x86_64.zip

    此压缩包"greenplum-cc-web-6.8.0-gp6-rhel7-x86_64.zip"包含的主要组件可能有以下几个部分: 1. **Greenplum数据库服务器**:这是Greenplum的核心部分,负责数据的存储、管理和查询处理。它包含了数据分布、查询...

    greenplum-cc-web-3.3.3-LINUX-x86_64.zip

    在“greenplum-cc-web-3.3.3-LINUX-x86_64.zip”这个压缩包中,包含了版本号为3.3.3的Linux 64位版本的GPCC安装程序——"greenplum-cc-web-3.3.3-LINUX-x86_64.bin"。 首先,让我们了解一下Greenplum数据库。...

    greenplum-db-6.7.1-rhel7-x86_64.rpm

    greenplum-db-6.7.1-rhel7-x86_64 安装包linux7,最新开源版。Greenplum 大数据平台基于MPP(大规模并行处理)架构,具有良好的弹性和线性扩展能力,内置并行存储、并行通讯、并行计算和优化技术,兼容 SQL 标准,...

    greenplum-db-6.2.1-rhel7-x86_64(GitHub).rpm

    附件是从GitHub上下载的greenplum-db-6.2.1-rhel7的安装包,方便大家快速下载.

Global site tag (gtag.js) - Google Analytics