strike
Lv 5
strike asked in 電腦與網際網路程式設計 · 1 decade ago

查詢某年某月的sql語法(sql server 2000)

資料庫 sql server 2000

我有個人事資料表

請問:

一、我要查詢去年三月來公司報到的新人

二、查詢去年一至六月份來報到的新人

這兩個SQL語法要如何寫呢?

謝謝

Update:

感謝您的回答

說明的很清楚

不好意思在請教一個類似的問題

如果要查詢上個月的新進人員時

不知語法要如何寫呢?

麻煩了,謝謝

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    select * from 人事資料表

    where (month(報到日期)=3) and (yaer(報到日期)=YEAR(GETDATE()) - 1)

    select * from 人事資料表

    where (month(報到日期) BETWEEN 1 AND 6) and (yaer(報到日期)=YEAR (GETDATE()) - 1)

    ****報到日期須為日期格式, 如果不是須使用CAST 或 CONVERT 來進行轉換***

    2006-03-04 23:59:28 補充:

    建議以stored PROCEDURE 來寫

    2006-03-05 00:00:29 補充:

    CREATE PROCEDURE test ASdeclare @v_year int,@v_month int set @v_year=case when month(getdate())=1 then year(getdate())-1 else year(getdate()) end set @v_month=case when month(getdate())=1 then 12 else month(getdate())-1 end

    2006-03-05 00:00:59 補充:

    select * from 人事資料表 where year(報到日期)=@v_year and month(報到日期)=@v_monthGO

    2006-03-05 00:03:53 補充:

    ***因字數限制要拆成2段***只要執行exec test既可得到上個月的資料

Still have questions? Get your answers by asking now.