问题时这样的!我想去循环获取取一个月的每一天!比如2005-08
我想得到2005-08-01,2005-08-02,2005-08-03,...2005-08-29,2005-08-30,2005-08-31
而且要把得到的每一天都写入数据库中。还有一个月28,29,30,31天的该怎么办?
最好是用sql语句来写!谢谢了!
我想得到2005-08-01,2005-08-02,2005-08-03,...2005-08-29,2005-08-30,2005-08-31
而且要把得到的每一天都写入数据库中。还有一个月28,29,30,31天的该怎么办?
最好是用sql语句来写!谢谢了!
解决方案 »
- C#调用 ORACLE 存储过程时 字符类型的返回值出现乱码
- Windows.UI.Xaml.Media.Imaging.BitmapSource如何另存为一张图片呀?
- c#/.net 如何用for循环把gridview里的一行赋值给若干textbox中
- 泛型使用报错:未将对象引用设置到对象的实例!望高手请进!
- 把结构体的变量名(上1000个)加入到COMBO BOX
- 请问怎样为(Button)按键控件增加(double_click)双击事件!
- '"+textbox1.text+"'谁能详细说明一下这个表达式的意思?我是百思不得其解
- 在资源管理器中,选择了一些文件,右键菜单执行我开发的程序,程序中如何获得选择了哪些文件?
- 准备学C#,各位帮偶推荐几本书呗
- 谁可以帮助我解决这个问题!
- SQL Server中Image类型字段的数据存储,谢谢!!!
- WebClient() DownloadFile方法 求解
然后用循环吧
菜鸟的方法,呵呵
还是等高手来看吧
假如你给2005-0x,然后你从2005-0x-01到2005-0x-31循环,就是不管是那个月,统统循环31次。
在循环内,你把这个表示日期的字符串用to_date函数转换成日期格式的,如果转换成功,则把转换的值插入到数据库中,如果不成功(发生异常),则退出循环。这样在转换的时候,系统会自动判断这个值是不是一个合法的日期的。一家之言,祝你好运。
select getdate()-day(getdate())+1
--当月最后一天
select dateadd(month,1,getdate()-day(getdate()))
declare @i int
declare @to int
--create table aadate (a datetime)
select @i = 0
select @to = 0
select @to = datediff(day,getdate()-day(getdate())+1, dateadd(month,1,getdate()-day(getdate())))
while @i <= @to
begin
insert into aadate values( dateadd(day,@i,getdate()-day(getdate())+1))
select @i = @i +1
end
select * from aadate