我要写一个属性,书上给的类型是char(12),描述是格式为"yyyymmdd"+char(4),约束条件上写的是每日最后4个字符,从“0001”开始。不知道这个约束条件如何实现?还有就是,有一种类型写的是char(12),约束条件写的是char(4)+char(2)+char(3)+char(3),如何实现?

解决方案 »

  1.   

    就是想建一张表,里面有一个属性叫通行时段代码,类型要求是char(12),对这个属性的描述是12位的前8位是记录日期,格式为YYYYMMDD,后四位为0001开始的,每增加一条记录加1,但日期变化之后重置到0001再开始每条记录加1。
      

  2.   

    给你个例子供参考:CREATE TABLE t1
    (
    riqi DATE,
    code VARCHAR(12)
    )
    INSERT INTO t1
    SELECT CURRENT_TIMESTAMP,CONVERT(VARCHAR(8),CURRENT_TIMESTAMP,112)+'0001'
    SELECT * FROM t1INSERT INTO t1
    SELECT CURRENT_TIMESTAMP
    ,CONVERT(VARCHAR(8),CURRENT_TIMESTAMP,112)+RIGHT('00000000'+LTRIM(MAX(CAST(RIGHT(code,4) AS INT))+1),4)
    FROM t1
    WHERE riqi=CONVERT(VARCHAR(10),CURRENT_TIMESTAMP)riqi         code
    2012-12-11 201212110001
    2012-12-12 201212120001
    2012-12-11 201212110002
    2012-12-11 201212110003
    2012-12-11 201212110004
    2012-12-11 201212110005