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)
    
    
  • 相关阅读:
    webpack基础
    LeetCode232. 用栈实现队列做题笔记
    mysql 时间加减一个月
    leetcode 1381. 设计一个支持增量操作的栈 思路与算法
    LeetCode 141. 环形链表 做题笔记
    leetcode 707. 设计链表 做题笔记
    leetcode 876. 链表的中间结点 做题笔记
    leetcode 143. 重排链表 做题笔记
    leetcode 1365. 有多少小于当前数字的数字 做题笔记
    LeetCode1360. 日期之间隔几天 做题笔记
  • 原文地址:https://www.cnblogs.com/lydg/p/11362995.html
Copyright © 2011-2022 走看看