如何修改日期列的值?
使用 SQL Server 2000,日期列数据类型为 varchar...
在我的表中日期列值如下:
2009/01/31
2009/02/00
2009/02/01....
2009/03/31
2009/04/00
2009/04/01.... so on...,
我想显示 2009/01/31 而不是 2009/02/00,如果日期是 2009/02/00 它应该显示之前的日期。
如何查询这个条件呢?
Using SQL Server 2000, Date Column Datatype is varchar...
In my table date column values are like:
2009/01/31
2009/02/00
2009/02/01....
2009/03/31
2009/04/00
2009/04/01.... so on...,
I want to display 2009/01/31 instead of 2009/02/00, If date is 2009/02/00 it should display previous date.
How to make a query for this condition?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个如何
检查最后一个字符是否为00,然后设置为01并添加-1
How about try this
Check if the last chars is 00, then set to 01 and add -1
好吧,我没有看到有日期以 00 作为日期部分的事实。
我想出了这种蛮力的方法。
我确信可以应用一些优化,但这应该为您提供一个起点。
将@WeirdDate替换为列名,它似乎可以工作
OK, I didn't see the fact that there are dates with 00 as the day part.
I whipped up this brute force way.
I'm sure there are optimizations that can be applied, but this should give you a starting point.
replace the @WeirdDate with the column name, and it seems to work
显示有效日期非常简单:
但是处理像“2009/02/00”这样的无效日期有点棘手......
但是由于您似乎已经有了上一个日期(2009/01/31) - 无法你不就忽略无效日期吗???
马克
To show the valid dates is pretty easy:
But handling the invalid dates like '2009/02/00' is a bit trickier.....
But since you already seem to have the previous date (2009/01/31) - couldn't you just ignore the invalid dates???
Marc