顯示具有 SQL 標籤的文章。 顯示所有文章
顯示具有 SQL 標籤的文章。 顯示所有文章

2013年6月28日 星期五

SQL - 如何指定DATE PART的特定時間

假設我有一個需求,需要在TSQL中宣告一個時間,日期為當下的日期(例如現在撰文的6/29)、並指定DATEPART HOUR為20,DATEPART MIN為45,該如何做?


 
     DECLARE @STARTDATE AS DATETIME 
     SET @STARTDATE = GETDATE();
     SET @STARTDATE =  DATEADD(hour, 20, DATEDIFF(DAY, 0, GETDATE()))
     SET @STARTDATE =  DATEADD(minute , 45, @STARTDATE)

其中最重要的應該是第2行
SET @STARTDATE = DATEADD(hour, 20, DATEDIFF(DAY, 0, GETDATE())),
先運用DATEDIFF(DAY, 0, GETDATE())找出,當下時間(假設為2013/6/29 18:05)與第0天(1900-1-1)相差了幾"日",此時取出來的時間皆為00:00分;之後再運用DATEADD指定hour與欲得到的hour就可以了

2013年4月13日 星期六

SQL - UPDATE ORDER BY 的資訊

DECLARE @TOP AS INT SET @TOP = 2 UPDATE OffLineMsg SET process = 0 WHERE ID IN ( SELECT TOP(@TOP) ID FROM OffLineMsg WHERE USERID = 'QBO00000001' ORDER BY CDATE DESC ); 上面就是只UPDATE OffLineMsg 中符合條件且ORDER BY CDATE DESC後的 前2筆資訊