用户自定义函数扩展(udfe)
用户自定义函数扩展(udfe)¶
udfe 扩展主要是为了在 SeaboxSQL 中支持以下用户自定义函数。
func_todate |
func_tonumber |
func_tel_legal |
func_checkidcard |
check_idcard |
sfz15_18 |
get_rkbh |
sfz_sex |
try_datetime |
is_date |
func_todate¶
函数 | 返回类型 | 描述 |
---|---|---|
func_todate(varchar) |
timestamp |
判断是否为日期,符合则返回日期,不符合返回空 |
示例:
create extension udfe;
select func_todate('9999');
func_todate
-------------
(1 row)
set datestyle to postgres;
select func_todate('00010101000001');
func_todate
--------------------------
Mon Jan 01 00:00:01 0001
(1 row)
func_tonumber¶
函数 | 返回类型 | 描述 |
---|---|---|
func_tonumber(varchar) |
numeric |
判断是否为数字,符合则返回数字,不符合返回空 |
示例:
create extension udfe;
select func_tonumber('a');
func_tonumber
---------------
(1 row)
select func_tonumber('1');
func_tonumber
---------------
1
(1 row)
func_tel_legal¶
函数 | 返回类型 | 描述 |
---|---|---|
func_tel_legal(varchar) |
numeric |
判断电话号码是否合法,合法则返回1,不符合返回0 |
示例:
create extension udfe;
select func_tel_legal('1896306616');
func_tel_legal
----------------
0
(1 row)
select func_tel_legal('18963066160');
func_tel_legal
----------------
1
(1 row)
func_checkidcard¶
函数 | 返回类型 | 描述 |
---|---|---|
func_checkidcard(varchar) |
int |
判断是否为身份证号,符合则返回1,不符合返回0 |
示例:
create extension udfe;
select func_checkidcard('AAAAAAAAAAAAAAAAAA');
func_checkidcard
------------------
0
(1 row)
select func_checkidcard('153742198302165411');
func_checkidcard
------------------
1
(1 row)
check_idcard¶
函数 | 返回类型 | 描述 |
---|---|---|
check_idcard(varchar) |
varchar |
校验身份证合规性,符合则返回1,不符合返回0 |
示例:
create extension udfe;
select check_idcard('AAAAAAAAAAAAAAAAAA');
check_idcard
--------------
0
(1 row)
select check_idcard('153742198302165411');
check_idcard
--------------
1
(1 row)
sfz15_18¶
函数 | 返回类型 | 描述 |
---|---|---|
sfz15_18(varchar) |
varchar |
15位身份证号转18位 |
示例:
create extension udfe;
select sfz15_18('153742830216541');
sfz15_18
--------------------
153742198302165411
(1 row)
get_rkbh¶
函数 | 返回类型 | 描述 |
---|---|---|
get_rkbh(varchar, varchar) |
varchar |
生成人口编号 |
示例:
create extension udfe;
select get_rkbh('101', '153742198302165411');
get_rkbh
----------------------------------
bce05f52b02ff5c551a6397edde1e809
(1 row)
sfz_sex¶
函数 | 返回类型 | 描述 |
---|---|---|
sfz_sex(varchar) |
varchar |
从18位身份证号码的第17位判断性别,返回性别 1男 2女 0未知 |
示例:
create extension udfe;
select sfz_sex('153742198302165411');
sfz_sex
---------
1
(1 row)
try_datetime¶
函数 | 返回类型 | 描述 |
---|---|---|
try_datetime(varchar, varchar) |
bool |
检测是否可转时间 |
示例:
create extension udfe;
select try_datetime('19830216', 'yyyymmdd');
try_datetime
--------------
t
(1 row)
is_date¶
函数 | 返回类型 | 描述 |
---|---|---|
is_date(varchar) |
bool |
检测是否可转日期 |
示例:
create extension udfe;
select is_date('19830216');
is_date
---------
t
(1 row)