問題分析:您要的結(jié)果是要每一小時一條記錄,補充添寫中間間隔一小時以上的記錄。并且不另增加記錄:
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、成都做網(wǎng)站、迪慶州網(wǎng)絡推廣、微信平臺小程序開發(fā)、迪慶州網(wǎng)絡營銷、迪慶州企業(yè)策劃、迪慶州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供迪慶州建站搭建服務,24小時服務熱線:13518219792,官方網(wǎng)址:sd-ha.com
問題解決:找到每一條記錄時間加1小時在表中不存在的記錄,然后加一小時填入表中,不包括最后(最大的)的時間。
3.語句實現(xiàn)(兩種方案):
以下語句可以在每一個缺少的數(shù)據(jù)后加入一小時后填入,但間隔更大(超過2小時后就不行了):
insert into tablename
select fieldtime=dateadd(hh,1,fieldtime),fieldnum from tablename a
where not exists(select 1 from tablename b where dateadd(hh,1,a.fieldtime)=b.fieldtime)
and a.fieldtime!=(select max(fieldtime) from tablename)--去掉最后的時間
以下方案可以完成補充間隔數(shù)小時的記錄:將該語句循環(huán)執(zhí)行,直到?jīng)]有記錄更改。
insert into tablename
select fieldtime=dateadd(hh,1,fieldtime),fieldnum from tablename a
where not exists(select 1 from tablename b where dateadd(hh,1,a.fieldtime)=b.fieldtime)
and a.fieldtime!=(select max(fieldtime) from tablename)--去掉最后的時間
while @@rowcount0
select fieldtime=dateadd(hh,1,fieldtime),fieldnum from tablename a where not exists(select 1 from tablename b where dateadd(hh,1,a.fieldtime)=b.fieldtime) and a.fieldtime!=(select max(fieldtime) from tablename)
咱們來看:
cast('000000000'+convert(int,code)as?varchar(20))
首先:
convert(int,code) :你把code 轉(zhuǎn)為 int
然后
'000000000'+convert(int,code)我估計sqlserver肯定把表達式作為數(shù)字相加了,那么0000...的相加就沒有作用了。
最后
就不是你要的結(jié)果了。
大致應該這樣:
SELECT?
right(cast('000000000'+rtrim(code)?as?varchar(20)),10),code,
id,pydate,isnull(lzdate,'9999-12-31'),0?
FROM?zlemployee
DECLARE?@T?TABLE(日期?DATE,金額?INT)
DECLARE?@D1?DATE,@D2?DATE
SELECT?@D1=MIN(日期),@D2=MAX(日期)?FROM?A表
WHILE?@D1=@D2
BEGIN
INSERT?INTO?@T?VALUES(@D1,0)
SET?@D1=DATEADD(DAY,1,@D1)
END
SELECT?日期,金額?FROM?A表
UNION?ALL
SELECT?*?FROM?@T?WHERE?日期?NOT?IN(SELECT?日期?FROM?A表)
本文名稱:sqlserver補齊,sqlserver自動補全
瀏覽地址:http://sd-ha.com/article46/dsesghg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、響應式網(wǎng)站、企業(yè)建站、App設計、軟件開發(fā)、網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)