关于日期格式的问题

crazy_boom 2009-04-03 11:03:03
CREATE TABLE MX
(BH CHAR(11) NULL DEFAULT '',
RIQI CHAR(10) NULL DEFAULT '',
SHL DECIMAL(14,2) DEFAULT 0
)

表MX 中RIQI存储的是日期格式的值 格式为 YYY-MM-DD (例:2009-10-21)
但是在操作过程中 会错误录入 2009-02-31、200-02-01、2008-0130
这样的错误的日期格式 。如何能够查出哪些数据的格式不符合日期格式?
我现在就用这样简单的办法 :
select * from mx where substring(riqi,5,1)<>'-'
select * from mx where substring(riqi,8,1)<>'-'
select * from mx where substring(riqi,6,2)='02' and substring(riqi,9,2)='30'
select * from mx where substring(riqi,6,2)='02' and cast(substring(riqi,9,2) as int)>28
这些方法来查 但是日期格式不正确的方式太多了 像这样来检查 很费劲 并且查出来的也不全。有什么更好的方法?
...全文
41 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazy_boom 2009-05-12
  • 打赏
  • 举报
回复
真对不起各位 我结贴的时候明明把分都写好了 可是结贴时总是提示错误 就没注意。今天一看 贴已经结了 可是分确没有给人。
liuweicai772 2009-04-06
  • 打赏
  • 举报
回复
SELECT BH,RIQI,SHL FROM MX WHERE RIQI<>'' AND ISDATE(RIQI)<>1
-狙击手- 2009-04-03
  • 打赏
  • 举报
回复
确定输入表达式是否为有效日期。


ISDATE ( expression )

22,222

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧