用sql语句设置
表A里面有列birthday
是datetime类型
问题:
创建规则绑定到birthday上面
用于检查该列存放数据是否形如2008-08-18的格式会的指点下
确实不会写这个语句

解决方案 »

  1.   

    我写的是这....
    错的...ALTER TABLE  A
    add CREATE rule riqi_rule
    AS @birthday like '%-%-%'
      

  2.   

    如果是我,换在前台去做,用isdate去判断你输入的字符串是否是合法的日期数据.ISDATE
    确定输入表达式是否为有效的日期。语法
    ISDATE ( expression ) 参数
    expression一个表达式,将要验证它是否为一个日期。expression 是任何返回 varchar 数据类型的表达式。 返回类型
    int注释
    如果输入表达式是有效的日期,那么 ISDATE 返回 1;否则,返回 0。下表显示一组示例所得到的返回值。列值 (varchar) ISDATE 返回值 
    NULL 0 
    Abc 0 
    100、-100、100 a 或 100.00 0 
    .01 0 
    -100.1234e-123 0 
    .231e90 0 
    $100.12345、- $100.12345 或 $-1000.123 0 
    as100 或 1a00 0 
    1995-10-1、1/20/95、1995-10-1 12:00pm、Feb 7 1995 11:00pm、1995-10-1 或者 1/23/95 1 
    13/43/3425 或 1995-10-1a 0 
    $1000、$100 或 $100 a 0 
    示例
    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                   
      

  3.   

    只是用于表里面
    检查该列存放数据是否形如2008-08-18的格式 
    按照书上的例子
    应该用到下面的语句..CREATE rule 规则名
    AS @字段比如说
    性别只能是男和女
    用到的SQL语句就是CREATE RULE  sex_rule
    AS @sex in('男','女')上面就限定了字段sex只能是男和女
      

  4.   

    额我傻了,DATETIME存数据的格式不是一样的吗?