一道面試題及解答

2021-04-20 03:34:03 字數 1002 閱讀 3029

碰到這樣乙個關於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的下標。盡可能不使用輔助空間且考慮效率及異常問題,注釋規範且給出設計思路 程式如下 ...