❶ 如何用sql實現自動填充日期
比如在建表時要設置欄位「addTime」在插入記錄時自動生成時間
首先,設置「addTime」的欄位類型為datetime類型
選中「addTime」欄位,在列屬性下可以看到「默認值或綁定」
設置「默認值或綁定」就可以自動生成時間,方法是:在「默認值或綁定」的值處輸入:getdate()
保存更改,保存後「默認值或綁定」的值變成「(getdate())」
這時可以添加資料庫記錄來驗證下是否可以自動生成時間。在表中輸入id列和name列的值,但是不輸入addTime列的值
在輸入完「zhangsan」後按回車鍵
點擊執行按鈕來保存添加的數據
9
這時addtime列的值自動生成,正是當前的時間
❷ sqlserver2008怎樣定時自動更新
新增列updatetime,用於記錄flag更改時間。
新建觸發器,監聽欄位flag更改為0時修改updatetime=getdate()。
新建存儲過程,檢查表中flag=0且時間相差當前時間5分鍾的,即修改。
新建作業,定期執行存儲過程(執行頻率根據你的資料庫來酌情決定)。
注意:存儲過程要考慮你的業務處理邏輯,避免死鎖。
❸ sql 如何更新某個欄位的時間為當前時間
把欄位名「時間」用方括弧括起來試試。
❹ SQL更新時間
在更新語句調用函數完成,這里沒有按天數分組,直接按照你給出的表來做,如果需要按天需要有一個天日期欄位或者時間需要加上天日期,這樣需要在函數改動一下即可。具體需要怎樣操作,可以自行修改函數內容
Update t set [分鍾]=dbo.F(ID,[機器],[時間])
函數F代碼
create Function F(
@id int,--編號
@jq char(5),--機器名
@sj char(5)--時間
)
returns char(5)--返回類型
as
begin
declare @s char(5)
set @s=0
declare @idd int--獲取id用來對比是否是第一行
declare @time char(5)--用來獲取時間計算差
declare @tt table(id int,[時間] char(5))--定義臨時表變數用來存放臨時數據
insert into @tt select id,[時間] from t where [機器]=@jq--將數據插入臨時表
select Top 1 @idd=id from @tt--查詢匹配條件的第一行數據的ID
if(@idd=@id)--判斷是否是第一行
begin
set @s= DateDiff(n,'8:00',@sj)--計算時間差
end
else
begin
select top 1 @time=[時間] from @tt where id<@id order by id desc
set @s=DateDiff(n,@time,@sj)
end
return @s
end
❺ sql 按時間范圍更新數據
update table set rectime=(case(select 1 from table t2 where t2.id=id and t2.rectime> ='09:00' and t2.rectime<='12:00') when (1) then '09:00' else '17:50' end)
--該表如果有主鍵的話,以上的sql就可以實現你想要的效果,語句的作用是:當rectime在09:00-12:00之間,自動更新為09:00,其它的自動更新為17:50 ,也可以根據你的需求在做進一步case
❻ SQL插入一列數據為「當前時間」,如何同時實現滾動式的自動更新
你所謂的滾動式自動更新是什麼含義?要更新哪些內容?
如果要求不高,可以用觸發器實現。
❼ SQL更新數據後同一張表的時間欄位自動更新
觸發器:
create trigger tr1
on tab1
for update
as
if exists(select a.用戶名 from inserted a,deleted b where a.用戶名=b.用戶名 )
begin
update tab1 set date=getdate() from inserted,tab1 where inserted.用戶名=tab1.用戶名
end
你自己試試吧!