zoukankan      html  css  js  c++  java
  • SqlServer验证时间和数值,使用ISDATE ( expression ) 和ISNUMERIC ( expression )

    ISDATE

    ISDATE
    确定输入表达式是否为有效的日期。
    
    语法
    ISDATE ( expression ) 
    
    参数
    expression
    
    一个表达式,将要验证它是否为一个日期。expression 是任何返回 varchar 数据类型的表达式。 
    
    返回类型
    int
    
    示例
    A. 使用 ISDATE 检查变量
    下面的示例检查 @datestring 局部变量是否为有效的日期。
    
    DECLARE @datestring varchar(8)
    SET @datestring = '12/21/98'
    SELECT ISDATE(@datestring)
    
    下面是结果集:
    
    ----------- 
    1           
    
    B. 使用 ISDATE 检查列是否为有效的日期
    下面的示例创建 test_dates 表,并且插入两个值。使用 ISDATE 以确定列中的值是否为日期。
    
    USE tempdb
    CREATE TABLE test_dates (Col_1 varchar(15), Col_2 datetime)
    GO
    INSERT INTO test_dates VALUES ('abc', 'July 13, 1998')
    GO
    SELECT ISDATE(Col_1) AS Col_1, ISDATE(Col_2) AS Col_2 
       FROM test_dates
    
    下面是结果集:
    
    Col_1                     Col_2               
    -----------------         --------------------
    0                         1                   
    

    ISNUMERIC

    ISNUMERIC
    确定表达式是否为一个有效的数字类型。
    
    语法
    ISNUMERIC ( expression )
    
    参数
    expression
    
    要计算的表达式。
    
    返回类型
    int
    
    注释
    当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。
    
    示例
    A. 使用 ISNUMERIC
    下面的示例返回 1,这是因为 zip 列包含有效的数值。 
    
    USE pubs
    SELECT ISNUMERIC(zip) 
    FROM authors
    GO
    
    B. 使用 ISNUMERIC 和 SUBSTRING
    下面的示例对于 titles 表中的所有书名都返回 0,这是因为没有一个书名是有效的数值。
    
    USE pubs
    GO
    -- Because the title column is all character data, expect a result of 0
    -- for the ISNUMERIC function.
    SELECT SUBSTRING(title, 1, 15) type, price, ISNUMERIC(title)
    FROM titles
    GO
    
    下面是结果集:
    
    type            price                                  
    --------------- -------------------------- ----------- 
    The Busy Execut 19.99                      0           
    Cooking with Co 11.95                      0           
    You Can Combat  2.99                       0           
    Straight Talk A 19.99                      0           
    Silicon Valley  19.99                      0           
    The Gourmet Mic 2.99                       0           
    The Psychology  (null)                     0           
    But Is It User  22.95                      0           
    Secrets of Sili 20.00                      0           
    Net Etiquette   (null)                     0           
    Computer Phobic 21.59                      0           
    Is Anger the En 10.95                      0           
    Life Without Fe 7.00                       0           
    Prolonged Data  19.99                      0           
    Emotional Secur 7.99                       0           
    Onions, Leeks,  20.95                      0           
    Fifty Years in  11.95                      0           
    Sushi, Anyone?  14.99                      0           
    
    (18 row(s) affected)
    
    
  • 相关阅读:
    [SDOI2008]递归数列
    [SCOI2008]奖励关
    [SCOI2010]幸运数字
    [ZJOI2007]矩阵游戏
    [HAOI2006]旅行
    [ZJOI2008]泡泡堂
    [BZOJ1800][Ahoi2009]fly 飞行棋
    [POJ2288]Islands and Bridges
    [LUOGU] 3959 宝藏
    [BZOJ]1029: [JSOI2007]建筑抢修
  • 原文地址:https://www.cnblogs.com/lydg/p/11362995.html
Copyright © 2011-2022 走看看