帮我看看这个sql语句可以这样写?最好讲讲,我不懂啊。(50分)

  • 主题发起人 主题发起人 bgqy2000
  • 开始时间 开始时间
B

bgqy2000

Unregistered / Unconfirmed
GUEST, unregistred user!
DECLARE @HOUR INT/
DECLARE @MIN INT/
SELECT @HOUR = DATEPART(HOUR,TEA_DTENDTIME),/
@MIN = DATEPART(N,TEA_DTENDTIME)/
FROM WS_T_TEAMDOC WHERE TEA_CZEROFLAG = '1'/
SELECT COUNT(*) AS NUM,/
GETDATE() AS DATENOW FROM WS_T_SHEET_MAIN/
WHERE ((DATEADD(N,10,SHE_DTOPENTIME) < GETDATE())/
OR/
(DATEADD(N,10,DATEADD(DAY,1,SHE_DTOPENTIME)) < GETDATE()/
AND ((DATEPART(HOUR,SHE_DTOPENTIME)= @HOUR AND/
DATEPART(M,SHE_DTOPENTIME)< @MIN ) OR/
(DATEPART(HOUR,SHE_DTOPENTIME)< @HOUR ) )))/
AND SHE_CSHEETID = '" + sSheetID + "'
 
什么呢
怎么两个 select 呢 几个sql语句
运行一下不就知道了
 
我问你你"/"这个符号干什么啊.?应该是//注释符吧.
DECLARE @HOUR INT//DECLARE声明变量
DECLARE @MIN INT//
SELECT @HOUR = DATEPART(HOUR,TEA_DTENDTIME),@MIN = DATEPART(N,TEA_DTENDTIME)
FROM WS_T_TEAMDOC WHERE TEA_CZEROFLAG = '1'
SELECT COUNT(*) AS NUM,GETDATE() AS DATENOW FROM WS_T_SHEET_MAIN WHERE ((DATEADD(N,10,SHE_DTOPENTIME) < GETDATE()) OR (DATEADD(N,10,DATEADD(DAY,1,SHE_DTOPENTIME)) < GETDATE() AND ((DATEPART(HOUR,SHE_DTOPENTIME)= @HOUR AND DATEPART(M,SHE_DTOPENTIME)< @MIN ) OR (DATEPART(HOUR,SHE_DTOPENTIME)< @HOUR ) ))) AND SHE_CSHEETID = '" + sSheetID + "'"
这个样写会很乱,建议你写在存储过程,然后,定义 output变量.
 
1.DECLARE ...
变量声明
2.SELECT @HOUR = DATEPART(HOUR,TEA_DTENDTIME),@MIN = DATEPART(N,TEA_DTENDTIME) FROM WS_T_TEAMDOC WHERE TEA_CZEROFLAG = '1'
分别将满足条件TEA_CZEROFLAG = '1'的记录的TEA_DTENDTIME字段的小时和分钟赋值给变量@HOUR,),@MIN
3.SELECT COUNT(*) AS NUM,GETDATE() AS DATENOW FROM WS_T_SHEET_MAIN WHERE ((DATEADD(N,10,SHE_DTOPENTIME) < GETDATE()) OR (DATEADD(N,10,DATEADD(DAY,1,SHE_DTOPENTIME)) < GETDATE() AND ((DATEPART(HOUR,SHE_DTOPENTIME)= @HOUR AND DATEPART(M,SHE_DTOPENTIME)< @MIN ) OR (DATEPART(HOUR,SHE_DTOPENTIME)<@HOUR ) ))) AND SHE_CSHEETID = '" + sSheetID + "'
部分条件分析:
DATEADD(N,10,SHE_DTOPENTIME) < GETDATE() 字段SHE_DTOPENTIME的值加上10分钟小于当前时间
DATEADD(N,10,DATEADD(DAY,1,SHE_DTOPENTIME)) < GETDATE() 字段SHE_DTOPENTIME的值加上1天又10分钟小于当前时间
DATEPART(HOUR,SHE_DTOPENTIME)= @HOUR 字段SHE_DTOPENTIME的值的小时部分等于变量@HOUR的值
DATEPART(M,SHE_DTOPENTIME)< @MIN 字段SHE_DTOPENTIME的值的分钟部分小于变量@MIN的值
DATEPART(HOUR,SHE_DTOPENTIME)<@HOUR 字段SHE_DTOPENTIME的值的小时部分小于变量@HOUR的值
返回结果是:满足条件记录的数量(字段NUM)和当前日期(字段DATENOW)
 
多人接受答案了。
 
后退
顶部