資料庫中當前時間的資料減當天0點的值,算出今天的累計量。
如果現在時間為0點,則減去前一晚0點的值。
declare @newvalue int
declare @oldvalue int
declare @newtime datetime
declare @oldtime datetime
select @newtime= (select max(writedate)from test )
if @newtime= convert(varchar(10), getdate(), 120)
begin
select @newtime = convert(varchar(10), getdate(), 120)
select @oldtime= convert(varchar(10), dateadd(day, - 1, getdate()), 120)
endelse
begin
select @oldtime = convert(varchar(10), getdate(), 120)
endselect @newvalue = (select value1 from test where writedate=@newtime)
select @oldvalue = (select value1 from test where writedate=@oldtime)
select @newvalue-@oldvalue as result
表的生成**如下:
create table [dbo].[test](
[value1] [int] null,
[writedate] [datetime] not null
SQL 使用CASE表示式求三列中的最大值
求x y和z三者中的最大值 select num,case when case when x y then y else x end z then z else case when x y then y else x end end as greatest from greatests 如果是ora...
SQL資料庫中返回指定值的實現方法
sqlconnection cnn1 new sqlconnection cnn1.open sqldataadapter adp new sqldataadapter select socket 1 from socket 1 where id1 cmb.text cnn1 datatable d...
關於Oracle資料庫中SQL空值排序的問題
在oracle中進行查詢排序時,如果排序字段裡面有空值的情況下,排序結果可能會達不到自己想要的結果。如 select from tabletest order by visits desc 上圖可以看到表示服務訪問次數的 visits 欄位上的空值記錄排序時放在前面,和實際邏輯不對 將原來的sql語...