定义一个函数
 校验一个值是不是日期类型的数据
 要求:函数名为isnumber()  返回0代表不是返回1代表是

解决方案 »

  1.   

    create function isnumber
    (@dt varchar(20))
    returns int
    as
    begin
    return isdate(@dt)
    end
    go
    select dbo.isnumber('2011-12-15')
    /*
    -----------
    1(1 行受影响)
    */
    select dbo.isnumber('2011-15-55')
    /*
    -----------
    0(1 行受影响)
    */
    go
    drop function dbo.isnumber
      

  2.   

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[isnumber]') and xtype in (N'FN', N'IF', N'TF'))
    drop function [dbo].[isnumber]
    go
    create function isnumber
    (@datetime varchar(20))
    returns int
    as
    begin
    return isdate(@datetime)
    end
    go
      

  3.   

    declare @ints int
    declare @InfoTime varchar(100)
    declare @Note varchar(200)
    set @InfoTime = '448978'
     set @ints = (select isdate(@InfoTime) )
      if  @ints = 1
        set @Note ='您输入的是时间'
      else
         set @Note ='您输入的不是时间'
    print @Note
      

  4.   


    if object_id('isnumber','FN') is not null
       drop table isnumber
    go
    create function isnumber(@date varchar(10))
    returns int
    as 
    begin
      return isdate(@date)
    end
    go
    select dbo.isnumber('abc'),dbo.isnumber('2011-01-01')
      

  5.   

    学习了,这是个不错的题目。考察了理解能力和T-SQL的初级编程能力