sql中資料相減求當天累計值

2021-05-01 20:50:14 字數 869 閱讀 6971

資料庫中當前時間的資料減當天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語...