首页 新闻 搜索 专区 学院

关于关于时间的一个sql语句

0
悬赏园豆:5 [已关闭问题] 关闭于 2011-09-26 16:11

有三个字段id,name,times(时间),这三个字段,要求是:每半个月进行分组。是要按照每半个月就进行分组,该怎么弄呢?另外一个问题,这个时间字段在数据库中的时候是年月日的格式,但是用linq读取的时候就变成的月日年的格式,这是怎么回事啊,怎样才能转化成年月日的形式?

Impossible的主页 Impossible | 初学一级 | 园豆:72
提问于:2010-09-09 11:35
< >
分享
所有回答(3)
0

linq读取出来显示的时候做转换也可以,具体转化

nowTime.ToString("yyyy-MM-dd");

,在查询的时候做处理也可以。

love_99 | 园豆:325 (菜鸟二级) | 2010-09-09 12:49
0

只需要这三个字段分组.id,name,times. 不知道做什么用.

首先在一个月内先分组,<=15天分为一组,>15天分为一组.

1代表上半月,2代表下半月

select id,name,TimeGroup from (

select id,name,times,left(times,6)+case when right(times,2)<=15 then '1' else '2' end as Time Group from YourTable

)A

changbluesky | 园豆:854 (小虾三级) | 2010-09-09 13:34
0

呵呵,首先要看你的数据有多少啊

如果是数据比较大,那就可以考虑另外加多一列做这个分组,这个字段可以是int的,用来保存今天是一年中的第几天(这个可以在插入数据的时候在程序中算出来),这样你查询某个月的数据的时候就可以使用范围来判断了。还可以用这个来做聚集索引,这样数据会放到一起。

如果数据比较小,可以直接对time字段进行判断,像我爱菊花那样分组

听风吹雨 | 园豆:295 (菜鸟二级) | 2010-09-10 22:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册