sql (50分)

  • 主题发起人 主题发起人 sqz
  • 开始时间 开始时间
S

sqz

Unregistered / Unconfirmed
GUEST, unregistred user!
有一数据库字段为 编号,时间。现在要根据时间开区分是上午还是下午写到数据库中。
数据库为 编号,上午时间,下午时间。
例:编号为“A" 时间为8:00 和记录 编号为”A“ 时间为15:00 现经处理得到为
一条记录 编号:A, 上午时间:8:00,下午时间:15:00
 
看看下面的可不可以
select * from table where time in (12:00,24:00)
select * from table where time between 12:00 and 24:00
 
你的A,B之间有联系吗??
把B记录处理要有一个规则吧?若出现A 8:00;B 15:00;C 9:00;D 16:00
是A+B,C+D还是A+D,C+B呢?
 
前面写错了应该编号相同的
 
insert into tab2 (编号,上午时间,下午时间)
select 编号,iif(时间<=12:00,NULL,时间),(时间>12:00,NULL,时间) from tab1
 
可以先分成两个表
insert into temp1(编号,上午时间)
select 编号,时间 from tab1 where 时间<=12:00
insert into temp2(编号,下午时间)
select 编号,时间 from tab1 where 时间>12:00
然后
insert into tab2(编号,上午时间,下午时间)
select temp1.编号,上午时间,下午时间 from temp1,temp2 where temp1.编号=temp2.编号
 
1.插入上午时间:
insert into table(编号,上午时间)
select 编号,时间 from tab1 where 时间<=12:00
2.判断同一编号的同一天中是否已有上午记录(可写存储过程逐条处理)
select 编号,时间 from tab1 where 时间>=12:00 (查询下午的记录)
select count(*) from table where 编号=? and 时间=? (判断)
有:update table set 下午时间=? where 编号=?
无:insert into table(编号,下午时间)
select 编号,时间 from tab1 where 时间>12:00

 
格式化此日期串,让它以AM/PM形式显示。
 
后退
顶部