日期:2014-05-17  浏览次数:20536 次

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

CREATE TABLE t1
(
riqi DATE,
code VARCHAR(12)
)
INSERT INTO t1
SELECT CURRENT_TIMESTAMP,CONVERT(VARCHAR(8),CURRENT_TIMESTAMP,112)+'0001'
SELECT * FROM t1

INSERT 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