如何判断一个字符串是否为数字或日期?

作者: eygle | English Version  【转载时请以超链接形式标明文章 出处和作者信息及 本声明】
链接: http://www.eygle.com/archives/2007/02/is_date_or_number.html

SQL> CREATE OR REPLACE FUNCTION is_number (parmin VARCHAR2)

昨天有一个朋友在MSN上问,如何判断一个字符串是否为数字?
我说,写一个函数吧。于是给出了一个例子:

2 RETURN NUMBER
3 IS
4 val NUMBER;
5 BEGIN
6 val := TO_NUMBER (NVL (parmin, 'a'));
7 RETURN 1;
8 EXCEPTION
9 WHEN OTHERS
10 THEN
11 RETURN 0;
12 END;
13 /

Function created.

SQL> select is_number('a') from dual;

IS_NUMBER('A')
--------------
0

SQL> select is_number('0.998') from dual;

IS_NUMBER('0.998')
------------------
1

SQL> select is_number('9999999999999999') from dual;

IS_NUMBER('9999999999999999')
-----------------------------
1

今天,这个朋友在MSN上又问:如何判断一个字符是否是日期?
我说,再写一个函数吧。

补注:由于session的语言设置会影响日期的输出格式,所以时间被转换为字符可能有多种形式。
以下这个函数只能满足部分情况,仅供参考。

SQL> CREATE OR REPLACE FUNCTION is_date (parmin VARCHAR2)
2 RETURN NUMBER
3 IS
4 val DATE;
5 BEGIN
6 val := TO_DATE (NVL (parmin, 'a'), 'yyyy-mm-dd hh24:mi:ss');
7 RETURN 1;
8 EXCEPTION
9 WHEN OTHERS
10 THEN
11 RETURN 0;
12 END;
13 /

Function created.

SQL> select is_date('a') from dual;

IS_DATE('A')
------------
0

SQL> select is_date('2004-05-05') from dual;

IS_DATE('2004-05-05')
---------------------
1

SQL> select is_date('2004/01/01') from dual;

IS_DATE('2004/01/01')
---------------------
1

SQL> select is_date('01/01/04') from dual;

IS_DATE('01/01/04')
-------------------
1

SQL> select is_date('01-jan-04') from dual;

IS_DATE('01-JAN-04')
--------------------
1

这两者是何其相似啊!

-The End-

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>

阅读(646) | 评论(0) | 转发(0) |

0

上一篇:win7/winserver2008 卸载sp1补丁包

下一篇:ORACLE常用数值函数、转换函数、字符串函数介绍

给主人留下些什么吧!~~
评论热议

如何判断一个字符串是否为数字或日期?相关推荐

  1. java 判断数字_如何在java中判断一个字符串是否是数字

    前言 数字在某些领域经常用字符串来进行表示和传递.那么我们如何判断一个字符串是否是数字呢?今天我们来探讨一下这个话题. 空字符和null 首先我们可以很清晰的知道空字符""和nul ...

  2. 在Java中用正则表达式判断一个字符串是否是数字的方法

    package chengyujia;import java.util.regex.Pattern;public class NumberUtil {/*** 判断一个字符串是否是数字.* * @pa ...

  3. 如何在java中判断一个字符串是否是数字

    前言 数字在某些领域经常用字符串来进行表示和传递.那么我们如何判断一个字符串是否是数字呢?今天我们来探讨一下这个话题. 空字符和null 首先我们可以很清晰的知道空字符""和nul ...

  4. Java中判断一个字符串全为数字和字母

    1.使用字符和整数转换 //判断一个字符串中是否全为字母 public static boolean isAllLetters(String str) {char[] chars=str.toChar ...

  5. java判断一个字符串是否为数字型(整数、小数、负数)

    1.采用正则表达式的方式来判断一个字符串是否为数字,这种方式判断面比较全面,可以判断正负.整数小数 String str1="12354哈哈";String str2=" ...

  6. java判断一个字符串是否是数字和字母_java判断字符串是否为数字或中文或字母...

    1.判断字符串是否仅为数字: 1>用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str.length( ...

  7. 判断一个字符串是否是数字

    判断是否是数字的正则表达式 var numReg = /^[0-9]*$/var numRe = new RegExp(numReg)if (!numRe.test(number)) {this.$m ...

  8. java 判断一个字符串是否由数字组成的_Java中怎样判断一个字符串是否是数字

    展开全部 1.使用Character.isDigit(char)判断 String str = "123abc"; if (!"".equals(str)) { ...

  9. 判断一个字符串是否为数字字符串(两种方法)

    第一种方法: //正则表达式判断是否是数字字符串(可判断正数,负数和小数)public boolean isNumberString(String str) {java.util.regex.Patt ...

最新文章

  1. 【重磅】AI击败顶级德扑玩家的秘密!德扑AI创造者现身reddit,全面解答34个提问,详解Libratus的现状和未来
  2. PowerEdge M915 – 戴尔打出的又一记虚拟化重拳
  3. ecshop 搜索热词推荐_多多搜索自定义关键词推广的基础点:如何选对致命的关键词...
  4. RecyclerView列表控件漂亮时间线实现
  5. 现代谱估计-互谱功率
  6. Oracle入门(七B)之表空间删除数据文件未删除
  7. 出栈顺序 与 卡特兰数(Catalan)的关系
  8. codeforces B. Pasha and String(贪心)
  9. 微积分学习笔记五:多元函数微积分
  10. 中国武侠片的50条爆笑定律
  11. Javascript:通过服务器相对路径下载文件到本地
  12. Android-activity之间的交流
  13. Linux之VM12+ CentOS7安装以及网络配置
  14. java中的StringBuffer类
  15. 第四章 Sysrepo连接与会话
  16. You must SET PASSWORD before executing this statement的解决方法 详细出处参考:http://www.jb51.net/article/39187.
  17. iOS 获取系统wifi列表,wifi信号强度,并给wifi设置密码,标签(副标题)
  18. 【转帖】Photoshop为长腿MM制作拼接效果的照片
  19. ios 各种动画机制
  20. 三篇文章彻底搞懂Java面向对象之一

热门文章

  1. 你知不知道,天空没有想象中蓝。
  2. 手机app逆向、渗透测试基础工具介绍
  3. LC30 Substring with Concatenation of All Words
  4. 葫芦娃六娃_盘点《葫芦娃》中真正的实力排行,千里眼排第二,火娃排第四
  5. 2022-2027年中国教育云行业市场调研及未来发展趋势预测报告
  6. 静态手势识别控制游戏方向
  7. Nginx_PHP的LOG设计
  8. 资深投资人“厂长”沈忱:布局区块链就是在布局新的工业革命
  9. STM32中VU和U的区别
  10. PyFlink 教程:PyFlink DataStream API - state timer