热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle在sql中判断字段值是数字还是字符串

1.oracle在sql中判断字段值是数字还是字符串:SELECTnvl2(TRANSLATE(123,1234567890,),CHAR,NUMBER)FROMdual;验证是数
1. oracle在sql中判断字段值是数字还是字符串:

SELECT nvl2(TRANSLATE('123','/1234567890','/'),'CHAR','NUMBER') FROM dual;

《oracle在sql中判断字段值是数字还是字符串》 验证是数字的场景
《oracle在sql中判断字段值是数字还是字符串》 验证是字符串的场景

2. 延伸应用:判断字段中包括哪几种类型

SELECT DISTINCT fuhao
FROM (
SELECT nvl2(TRANSLATE(MS.STORE_CODE,'/1234567890','/'),'CHAR','NUMBER') fuhao
FROM MC_STORE MS
);

《oracle在sql中判断字段值是数字还是字符串》 判断字段中包括哪几种类型

3. nvl2与函数介绍

NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2;

TRANSLATE(string,from_str,to_str) 的功能:返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE 是 REPLACE 所提供的功能的一个超集。

如果 from_str 比 to_str 长,那么在 from_str 中而不在 to_str 中的额外字符将从 string 中被删除,因为它们没有相应的替换字符。to_str 不能为空。Oracle 将空字符串解释为 NULL,并且如果TRANSLATE 中的任何参数为NULL,那么结果也是 NULL。


推荐阅读
author-avatar
手机用户2502858941
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有