SQL又没有输入界面
所以这个判断不应该是在数据库中完成 在你的界面中完成的 看你用什么开发语言 有不同的判断方式
这是我以前做个的日期测试,你可以参考哈:
-------------------------------------日期格式有效性测试-------------------------------------------
--*************************************************************
--** **
--** 测试人:胡明星 **
--** 测试日期:2007年1月18日 **
--** **
--*************************************************************
--先创立一个测试的临时表
create table temp
(
cdatetime datetime
)
--测试的日期为'2027年09月17日'
--插入属性前表为空
--1.(测试yyyy&mm&dd的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'yyyy-mm-dd'
insert into temp values('2027-09-17') --能够正常执行
--测试'yyyy.mm.dd'
insert into temp values('2027.09.17') --能够正常执行
--测试'yyyy/mm/dd'
insert into temp values('2027/09/17') --能够正常执行
--测试'yyyy/mm.dd'
insert into temp values('2027/09.17') --能够正常执行
--测试'yyyy.mm/dd'
insert into temp values('2027.09/17') --能够正常执行
--测试'yyyy.mm-dd'
insert into temp values('2027.09-17') --能够正常执行
--测试'yyyy-mm.dd'
insert into temp values('2027-09.17') --能够正常执行
--测试'yyyy-mm/dd'
insert into temp values('2027-09/17') --能够正常执行
--测试'yyyy/mm-dd'
insert into temp values('2027/09-17') --能够正常执行
--2.(测试yy&mm&dd的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'yy-mm-dd'
insert into temp values('27-09-17') --能够正常执行
--测试'yy.mm.dd'
insert into temp values('27.09.17') --能够正常执行
--测试'yy/mm/dd'
insert into temp values('27/09/17') --能够正常执行
--测试'yy/mm.dd'
insert into temp values('27/09.17') --能够正常执行
--测试'yy.mm/dd'
insert into temp values('27.09/17') --能够正常执行
--测试'yy.mm-dd'
insert into temp values('27.09-17') --能够正常执行
--测试'yy-mm.dd'
insert into temp values('27-09.17') --能够正常执行
--测试'yy-mm/dd'
insert into temp values('27-09/17') --能够正常执行
--测试'yy/mm-dd'
insert into temp values('27/09-17') --能够正常执行
--3.(测试dd&mm&yyyy的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'dd-mm-yyyy'
insert into temp values('17-09-2027') --不能够正常执行
--测试'dd.mm.yyyy'
insert into temp values('09.2027') --不能够正常执行
--测试'dd/mm/yyyy'
insert into temp values('17/09/2027') --不能够正常执行
--测试'dd/mm.yyyy'
insert into temp values('17/09.2027') --不能够正常执行
--测试'dd.mm/yyyy'
insert into temp values('09/2027') --不能够正常执行
--测试'dd.mm-yyyy'
insert into temp values('09-2027') --不能够正常执行
--测试'dd-mm.yyyy'
insert into temp values('17-09.2027') --不能够正常执行
--测试'dd-mm/yyyy'
insert into temp values('17-09/2027') --不能够正常执行
--测试'dd/mm-yyyy'
insert into temp values('17/09-2027') --不能够正常执行
--4.(测试dd&mm&yy的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'dd-mm-yy'
insert into temp values('17-09-27') --能够正常执行
--测试'dd.mm.yy'
insert into temp values('09.27') --能够正常执行
--测试'dd/mm/yy'
insert into temp values('17/09/27') --能够正常执行
--测试'dd/mm.yy'
insert into temp values('17/09.27') --能够正常执行
--测试'dd.mm/yy'
insert into temp values('09/27') --能够正常执行
--测试'dd.mm-yy'
insert into temp values('09-27') --能够正常执行
--测试'dd-mm.yy'
insert into temp values('17-09.27') --能够正常执行
--测试'dd-mm/yy'
insert into temp values('17-09/27') --能够正常执行
--测试'dd/mm-yy'
insert into temp values('17/09-27') --能够正常执行
--5.(测试mm&dd&yyyy的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'mm-dd-yyyy'
insert into temp values('09-17-2027') --能够正常执行
--测试'mm.dd.yyyy'
insert into temp values('09.2027') --能够正常执行
--测试'mm/dd/yyyy'
insert into temp values('09/17/2027') --能够正常执行
--测试'mm/dd.yyyy'
insert into temp values('09/2027') --能够正常执行
--测试'mm.dd/yyyy'
insert into temp values('09.17/2027') --能够正常执行
--测试'mm.dd-yyyy'
insert into temp values('09.17-2027') --能够正常执行
--测试'mm-dd.yyyy'
insert into temp values('09-2027') --能够正常执行
--测试'mm-dd/yyyy'
insert into temp values('09-17/2027') --能够正常执行
--测试'mm/dd-yyyy'
insert into temp values('09/17-2027') --能够正常执行
--6.(测试dd&mm&yy的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'dd-mm-yy'
insert into temp values('17-09-27') --能够正常执行
--测试'dd.mm.yy'
insert into temp values('09.27') --能够正常执行
--测试'dd/mm/yy'
insert into temp values('17/09/27') --能够正常执行
--测试'dd/mm.yy'
insert into temp values('17/09.27') --能够正常执行
--测试'dd.mm/yy'
insert into temp values('09/27') --能够正常执行
--测试'dd.mm-yy'
insert into temp values('09-27') --能够正常执行
--测试'dd-mm.yy'
insert into temp values('17-09.27') --能够正常执行
--测试'dd-mm/yy'
insert into temp values('17-09/27') --能够正常执行
--测试'dd/mm-yy'
insert into temp values('17/09-27') --能够正常执行
--7.(测试dd&yyyy&mm的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'dd-yyyy-mm'
insert into temp values('17-2027-09') --不能够正常执行
--测试'dd.yyyy.mm'
insert into temp values('2027.09') --不能够正常执行
--测试'dd/yyyy/mm'
insert into temp values('17/2027/09') --不能够正常执行
--测试'dd/yyyy.mm'
insert into temp values('17/2027.09') --不能够正常执行
--测试'dd.yyyy/mm'
insert into temp values('2027/09') --不能够正常执行
--测试'dd.yyyy/mm'
insert into temp values('2027/09') --不能够正常执行
--测试'dd-yyyy.mm'
insert into temp values('17-2027.09') --不能够正常执行
--测试'dd-yyyy/mm'
insert into temp values('17-2027/09') --不能够正常执行
--测试'dd/yyyy-mm'
insert into temp values('17/2027-09') --不能够正常执行
--8.(测试dd&yy&mm的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'dd-yy-mm'
insert into temp values('17-27-09') --不能够正常执行
--测试'dd.yy.mm'
insert into temp values('27.09') --不能够正常执行
--测试'dd/yy/mm'
insert into temp values('17/27/09') --不能够正常执行
--测试'dd/yy.mm'
insert into temp values('17/27.09') --不能够正常执行
--测试'dd.yy/mm'
insert into temp values('27/09') --不能够正常执行
--测试'dd.yy/mm'
insert into temp values('27/09') --不能够正常执行
--测试'dd-yy.mm'
insert into temp values('17-27.09') --不能够正常执行
--测试'dd-yy/mm'
insert into temp values('17-27/09') --不能够正常执行
--测试'dd/yy-mm'
insert into temp values('17/27-09') --不能够正常执行
--9.(测试mm&yy&dd的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'mm-yy-dd'
insert into temp values('09-27-17') --不能够正常执行
--测试'mm.yy.dd'
insert into temp values('09.27.17') --不能够正常执行
--测试'mm/yy/dd'
insert into temp values('09/27/17') --不能够正常执行
--测试'mm/yy.dd'
insert into temp values('09/27.17') --不能够正常执行
--测试'mm.yy/dd'
insert into temp values('09.27/17') --不能够正常执行
--测试'mm.yy/dd'
insert into temp values('09.27/17') --不能够正常执行
--测试'mm-yy.dd'
insert into temp values('09-27.17') --不能够正常执行
--测试'mm-yy/dd'
insert into temp values('09-27/17') --不能够正常执行
--测试'mm/yy-dd'
insert into temp values('09/27-17') --不能够正常执行
--10.(测试mm&yyyy&dd的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'mm-yyyy-dd'
insert into temp values('09-2027-17') --不能够正常执行
--测试'mm.yyyy.dd'
insert into temp values('09.2027.17') --不能够正常执行
--测试'mm/yyyy/dd'
insert into temp values('09/2027/17') --不能够正常执行
--测试'mm/yyyy.dd'
insert into temp values('09/2027.17') --不能够正常执行
--测试'mm.yyyy/dd'
insert into temp values('09.2027/17') --不能够正常执行
--测试'mm.yyyy/dd'
insert into temp values('09.2027/17') --不能够正常执行
--测试'mm-yyyy.dd'
insert into temp values('09-2027.17') --不能够正常执行
--测试'mm-yyyy/dd'
insert into temp values('09-2027/17') --不能够正常执行
--测试'mm/yyyy-dd'
insert into temp values('09/2027-17') --不能够正常执行
--11.(测试yyyy&dd&mm的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'yyyy-dd-mm'
insert into temp values('2027-17-09') --不能够正常执行
--测试'yyyy.dd.mm'
insert into temp values('2027.09') --不能够正常执行
--测试'yyyy/dd/mm'
insert into temp values('2027/17/09') --不能够正常执行
--测试'yyyy/dd.mm'
insert into temp values('2027/09') --不能够正常执行
--测试'yyyy.dd/mm'
insert into temp values('2027.17/09') --不能够正常执行
--测试'yyyy.dd-mm'
insert into temp values('2027.17-09') --不能够正常执行
--测试'yyyy-dd.mm'
insert into temp values('2027-09') --不能够正常执行
--测试'yyyy-dd/mm'
insert into temp values('2027-17/09') --不能够正常执行
--测试'yyyy/dd-mm'
insert into temp values('2027/17-09') --不能够正常执行
--12.(测试yy&dd&mm的格式,设&为可以代替 . / 和 - 中的任意一个符号)
--测试'yy-dd-mm'
insert into temp values('27-17-09') --不能够正常执行
--测试'yy.dd.mm'
insert into temp values('27.09') --不能够正常执行
--测试'yy/dd/mm'
insert into temp values('27/17/09') --不能够正常执行
--测试'yy/dd.mm'
insert into temp values('27/09') --不能够正常执行
--测试'yy.dd/mm'
insert into temp values('27.17/09') --不能够正常执行
--测试'yy.dd-mm'
insert into temp values('27.17-09') --不能够正常执行
--测试'yy-dd.mm'
insert into temp values('27-09') --不能够正常执行
--测试'yy-dd/mm'
insert into temp values('27-17/09') --不能够正常执行
--测试'yy/dd-mm'
insert into temp values('27/17-09') --不能够正常执行
--猜测结论(设&为可以代替 . / 和 - 中的任意一个符号):
--1.yyyy&mm&dd格式的日期可以正常执行.
--2.yy&mm&dd格式的日期可以正常执行.
--3.dd&mm&yyyy格式的日期不能够正常执行(错误信息:char数据类型到datetime数据类型的转换导致datetime越界)
--4.dd&mm&yy格式的日期能够正常执行
--5.mm&dd&yyyy格式的日期能够正常执行
--6.mm&dd&yy格式的日期能够正常执行
--7.dd&yyyy&mm格式的日期不能够正常执行(错误信息:char数据类型到datetime数据类型的转换导致datetime越界)
--8.dd&yy&mm格式的日期不能够正常执行(错误信息:char数据类型到datetime数据类型的转换导致datetime越界)
--9.mm&yy&dd格式的日期不能够正常执行(错误信息:char数据类型到datetime数据类型的转换导致datetime越界)
--10.mm&yyyy&dd格式的日期能够正常执行
--11.yyyy&dd&mm格式的日期格式不能够正常执行(错误信息:char数据类型到datetime数据类型的转换导致datetime越界)
--12.yy&dd&mm格式的日期格式不能够正常执行(错误信息:char数据类型到datetime数据类型的转换导致datetime越界)