有三个字段id,name,times(时间),这三个字段,要求是:每半个月进行分组。是要按照每半个月就进行分组,该怎么弄呢?另外一个问题,这个时间字段在数据库中的时候是年月日的格式,但是用linq读取的时候就变成的月日年的格式,这是怎么回事啊,怎样才能转化成年月日的形式?
linq读取出来显示的时候做转换也可以,具体转化
nowTime.ToString("yyyy-MM-dd");
,在查询的时候做处理也可以。
只需要这三个字段分组.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
呵呵,首先要看你的数据有多少啊
如果是数据比较大,那就可以考虑另外加多一列做这个分组,这个字段可以是int的,用来保存今天是一年中的第几天(这个可以在插入数据的时候在程序中算出来),这样你查询某个月的数据的时候就可以使用范围来判断了。还可以用这个来做聚集索引,这样数据会放到一起。
如果数据比较小,可以直接对time字段进行判断,像我爱菊花那样分组