1. sql 數據補全,程序查錯
試試我這個,我已經測試通過:
declare @id varchar(50)--聲明id變數
declare @date datetime--聲明日期變數
declare @tempdate datetime--聲明臨時日期變數
declare addDatas cursor--聲明一個游標
for select id,min(date) from tableName group by id
open addDatas--打開游標
fetch next from addDatas into @id,@date--取下一行數據到變數中
while @@fetch_status=0--如果有數據
begin
set @tempdate=@date--@tempdate賦初值
while (datediff(mm,@date,@tempdate))=0
begin
--print 'tempdate現在的值是:'+cast(@tempdate as varchar(100))
select @tempdate=dateadd(dd,1,@tempdate)--@tempdate++
declare @countNum int--聲明統計變數
select @countNum =count(*) from tableName where id=@id and date=@tempdate --計算判斷值
if @countNum=0
begin
insert into tableName(id,date,num) values(@id,@tempdate,null)--插入記錄
end
end
fetch next from addDatas into @id,@date
end
close addDatas--關閉游標
deallocate addDatas--釋放游標
2. sql server 2005 sql語句自動補全
Sql Assistant
你網路,大把。
3. sql查補缺失數據
有點復雜,你現在直接有34點的時間? 還是34點這樣的空缺時間還得重新生成呢?
要是現在直接有34點的時間的話。 那你就把 34點的表 跟2點表連接,然後寫好連接條件。到時候取數據的時候 取 2表中的數據就行了
4. sql server 2008自動補全功能的使用
給你發個地址
自己照著操作下
http://jingyan..com/article/fd8044faf506aa5031137a0e.html;
其實這功能初學者能不用還是不要用
5. SQL Server查詢時提示參數類型不正確
你in的用法是沒錯的SQL2000和2005都可以這么寫;這樣報錯的話,你重新建個測試表隨便輸點數據進去測試下,還有你的產品A 產品B是否為常量
例如
select * from [proct] where pname in ('顯示器,'鍵盤')
如果實在不行的話,你在企業管理器里生成創建你那張表的SQL腳本語句,發上來幫你看看。操作步驟 打開企業管理器——選中表——選工具菜單下的生成SQL腳本
SQL 2000幫助文檔,關鍵字 IN
============================
A. 對比 OR 和 IN
下面的示例選擇名稱和州的列表,列表中列出所有居住在加利福尼亞、印地安納或馬里蘭州的作者。
USE pubs
SELECT au_lname, state
FROM authors
WHERE state = 'CA' OR state = 'IN' OR state = 'MD'
但是,也可以使用 IN 獲得相同的結果:
USE pubs
SELECT au_lname, state
FROM authors
WHERE state IN ('CA', 'IN', 'MD')
========================================
6. 關於一個sql查詢完,補全日期。需要幫助
根據你的數據,給你個例子,其中的數據類型不一定和你的完全一樣,需要你自己根據你的實際情況去調整:
--創建表
--createtable[table](dtimedatetime,datavarchar(10),numsmallint)
--添加測試數據
--insertinto[table]select'2002-9-8','data1',0
--insertinto[table]select'2002-9-10','data1',3
--insertinto[table]select'2002-9-11','data1',4
--測試語句
select*from[table]
--你需要的效果
declare@dtable(timedatetime)
declare@datedatetime
set@date='2002-09-07'
while@date<='2002-09-12'
begin
insert@dselect@date
set@date=dateadd(dd,1,cast(@dateasdatetime))
end
selectconvert(varchar(10),time,120)astime
,isnull(data,'data1')asdata
,isnull(num,0)asnum
from@ddleftjoin[table]t
onconvert(varchar(10),dtime,120)=convert(varchar(10),time,120)
最終結果:
具體還有什麼其他想法,可以參考我的博客:
http://blog.sina.com.cn/s/blog_9f39f0c70102ux87.html
裡面的第五點,標題是"5、按月統計查詢"
7. SQL Server寫資料庫的時候怎麼樣才能自動補全或者提示
下個插件 sql prompt
http://ke..com/link?url=nXbJxO3timh7cHGd7eMWHNYou_icu9PQ_mbpRMVGItLechNTUsTUt8-
8. 資料庫數據整理,sql語句如何補齊為空的數據
在orderid順序排列或者有順序列的情況下,可以使用自連接對比循環來依次補全:
declare@iint
declare@jint
set@i=1
select@j=(selectcount(*)ascontfromtb)
while@i<=@j
begin
updateaseta.proid=b.proidfromtnnerjointbbona.orderid=b.orderid+1wherea.orderid=@ianda.proidisnull
set@i=@i+1
end
9. sql server 2008資料庫里如何實現按規則自動補全某個欄位
使用觸發器。
假定表名稱為mytable,欄位名稱為idc。創建如下觸發器:
CREATE TRIGGER [myTRIGGER] ON [dbo].[mytable]
FOR INSERT
AS
DECLARE @IDD VARCHAR(8)
DECLARE @ID INT
SET @ID=(SELECT id FROM inserted)
SET @IDD = 'IC' + RIGHT('000000' + CONVERT(VARCHAR, @ID),6)
UPDATE [mytable] SET idc = @IDD WHERE id = @id
答案滿足
10. sql server 2008 SQL語句自動補全在哪設置
不知道你說的自動補全是不是一個欄位自動生成。
如果是的話,可以Design表,查看該欄位的屬性,可以通過設置IdentitySpecification中的IsIdentity設置為yes即可。