碰到這樣乙個關於sql操作的面試題,不會,汗,回來馬上請教群友。感謝江鋒等人熱情的幫助。現貼出題目和**。
1、建立乙個資料庫,必須要有個時間型別的字段,其他不限;
2、根據上述資料庫建立乙個儲存過程,將某一時間內的所有日期(以天為單位)插入到表的時間欄位中;
3、有出錯提示;
4、返回的是上述插入的記錄集合。
我的想法很弱智,就不說了,怕丟人,還是貼上江鋒給我的**吧:
create database test;
use test;
gocreate table test
(id int identity,
date datetime
)create proc proc_date
@begintime datetime,
@endtime datetime
asif(@begintime > @endtime)
begin
raiserror('起始時間需小於結束時間!',16,1) --錯誤提示
return
endelse
begin
set dateformat ymd;
declare @i datetime;
set @i = @begintime;
while @i<= @endtime
begin
insert into test values(@i);
set @i = dateadd(day, 1, @i);
endselect * from test where date>@begintime and date<@endtime;
return select * from test where date>@begintime and date<@endtime;
enddrop proc proc_date;
exec proc_date '1998/11/21','1998/11/25'
再次感謝江鋒。
一道sql面試題的解答
題目 寫出一條sql語句 取出表a中第31到第40記錄 sqlserver,以自動增長的id作為主鍵,注意 id可能不是連續的。解答 已測試 1 假設id是連續的 select top10 fromawhereidnot in selecttop30 idfroma 或select fromawhe...
一道sql面試題的解答
題目 寫出一條sql語句 取出表a中第31到第40記錄 sqlserver,以自動增長的id作為主鍵,注意 id可能不是連續的。解答 已測試 1 假設id是連續的 select top10 fromawhereidnot in selecttop30 idfroma 或select fromawhe...
華為的一道面試題的解答
題目 int a nsize 其中隱藏著若干 0,其餘非 0整數,寫乙個函式 int func int a,int nsize 使a 把0移至後面,非 0整數移至 陣列前面並保持有序,返回值為原資料中第乙個元素為 0的下標。盡可能不使用輔助空間且考慮效率及異常問題,注釋規範且給出設計思路 程式如下 ...