读书人

关于sql2个日期拼装数据有关问题

发布时间: 2012-12-22 12:05:06 作者: rapoo

关于sql—2个日期拼装数据问题?


use master
go
create database test
go
use test
go
if exists(select 1 from sys.objects where name='tDateTime' and type='U')
drop table tDateTime
go
create table tDateTime --表名
(
id int identity primary key,
Title nvarchar(50),
StartTime datetime,
EndTime datetime
)
insert into tDateTime values('aaa','2012-08-08 00:00:00.000','2013-01-26 00:00:00.000')
insert into tDateTime values('bbb','2012-10-17 00:00:00.000','2012-10-24 00:00:00.000')
insert into tDateTime values('ccc','2012-10-17 00:00:00.000','2012-10-24 00:00:00.000')
insert into tDateTime values('ddd','2012-10-31 00:00:00.000','2012-11-07 00:00:00.000')
insert into tDateTime values('ddd','2012-09-01 00:00:00.000','2012-12-09 00:00:00.000')
insert into tDateTime values('ccc','2012-12-05 00:00:00.000','2012-12-20 00:00:00.000')
insert into tDateTime values('bbb','2012-09-03 00:00:00.000','2013-05-12 00:00:00.000')
select * from tDateTime
go

查询语句

select id,Title,StartTime,EndTime,
CONVERT(VARCHAR(4),StartTime,23) yearStart,
CONVERT(VARCHAR(4),EndTime,23) yearEnd,
CONVERT(VARCHAR(2),StartTime,10) monthStart,
CONVERT(VARCHAR(2),EndTime,10) monthEnd,
CONVERT(VARCHAR(2),StartTime,5) dayStart,
CONVERT(VARCHAR(2),EndTime,5) dayEnd,
datepart(dd,dateadd(mm,1,convert(char(8),CONVERT(datetime,'2012-12-01',120),21)+'01')-1) as Diff --当月天数
from tDateTime where 1=1 and '2012-12' between CONVERT(VARCHAR(7),StartTime,23) and CONVERT(VARCHAR(7),EndTime,23)
--其中'2012-12-01'和'2012-12'为同一个参数。(日期控件显示的年和月)


我现在拼装数据,有点蒙!
功能类似bolg发表文章日历,日历显示的年月份 为查询sql的参数 如:'2012-12-01'和'2012-12'
我现在要在日历控件上高亮显示(可上一月或下一年等) 符合StartTime,EndTime,两个字段的日期。
共有日期组装数据格式为:[2, 10, 11, 16, 15, 20] (蒙到这里了!)
并组合共有日期合集,Title的集合,也就是2条数据或N条数据都有日期2,
那么新列Title=两条数据和 如:Title="aaa"+","+"ccc"(sql不好实现,我逻辑可以自己实现)

用SQL,这个语句好复杂,用asp.net这个逻辑判断我都写蒙了. . .求大神帮忙!

[最优解释]
没看明白,友情帮顶
------其他解决方案--------------------


没看明白[2, 10, 11, 16, 15, 20]什么
[其他解释]
jfjfjf
[其他解释]
恭喜楼主,,,,
[其他解释]
帮楼顶了~解决问题就是好的
[其他解释]
贴下代码,看看效果啊
[其他解释]
LZ想表述点什么 把问题细化 具体的说...
[其他解释]

引用:
没看明白,友情帮顶


其实就是:数据库表tDateTime?中StartTime?、EndTime?为博客发表的开始关注日期,结束关注日期

日期控件显示的日期,符合tDateTime表中的开始,结束日期时间(再次时间段内),高亮显示相关的 日。

并点击Onclick,弹出这个日 共有的Title。
[其他解释]
该回复于2012-12-06 12:49:37被管理员删除
[其他解释]
引用:
没看明白[2, 10, 11, 16, 15, 20]什么


可能表达有点问题,. . .不过问题解决了,谢了。


回复,散分了。
[其他解释]
该回复于2012-12-06 15:29:32被管理员删除

读书人网 >asp.net

热点推荐