none
获取mysql的日期 RRS feed

  • 问题

  • 我现在做着一个员工报到系统(attendance)和用MYSQL保存. 这个系统主要是记录员工上班和下班的时间,如果没有记录就表示缺席。格式如下:

     

    姓名 上班时间 下班时间 日期

    陈金 09:00:00AM 06:00:00AM 03-08-2011

     

    我的问题是如何利用SQL来获取员工缺席的日期,假设陈金在八月份缺席5天,如何可以获取这五天的日期?

    2011年10月31日 1:43

答案

  • 這個方式我不會,也許有其它高手可給您建議!

    但我想如果沒上班一樣把資料存入,多開個欄位記憶是否有上班,這樣蒐尋的時候只要搜尋那個欄位有值的count數就知道他缺席幾天了,我是這樣做的,覺得挺方便的,給您參考


    coding or not
    2011年10月31日 2:15
  • 我同意Shinyo的看法。举个例子:

    程晋 8:00  17:00 2011-8-11 是

    程晋 8:00 17:00 2011-8-12 否

    程晋 8:00 17:00 2011-8-13 是

    程晋 8:00 17:00 2011-8-14 否

    这样你在算8月份的缺勤天数时, select count(是否上班栏位) from 你的表 where 日期>= 2010-08-01 and 日期 <= 2010-08-31 and 是否上班栏位 = 否

    起始日期和结束日期肯定都由你程序输入,这样就很容易得到一个月的起始日期和结束日期。

    Best regards,


    Mike Feng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    数据库没有保存缺席的记录/日期(只保存上班的日期)。

    建个表,保存所有上班日期,难道mysql 没有 not in 语句
    http://feiyun0112.cnblogs.com/
    2011年11月2日 3:54
    版主

全部回复

  • 這個方式我不會,也許有其它高手可給您建議!

    但我想如果沒上班一樣把資料存入,多開個欄位記憶是否有上班,這樣蒐尋的時候只要搜尋那個欄位有值的count數就知道他缺席幾天了,我是這樣做的,覺得挺方便的,給您參考


    coding or not
    2011年10月31日 2:15
  • 這個方式我不會,也許有其它高手可給您建議!

    但我想如果沒上班一樣把資料存入,多開個欄位記憶是否有上班,這樣蒐尋的時候只要搜尋那個欄位有值的count數就知道他缺席幾天了,我是這樣做的,覺得挺方便的,給您參考


    coding or not
    可是每个月的天数都有不同,所以很难算缺席多少天。
    2011年10月31日 2:45
  • 這個方式我不會,也許有其它高手可給您建議!

    但我想如果沒上班一樣把資料存入,多開個欄位記憶是否有上班,這樣蒐尋的時候只要搜尋那個欄位有值的count數就知道他缺席幾天了,我是這樣做的,覺得挺方便的,給您參考


    coding or not
    可是每个月的天数都有不同,所以很难算缺席多少天。

    MYSQL不是有month()可以取月份嗎?取該月來搜尋的話,何必在乎有幾天呢
    coding or not
    2011年10月31日 3:26
  • 你再建个表存上班日期,比较不存在的日期就行了

     


    http://feiyun0112.cnblogs.com/
    2011年11月1日 8:30
    版主
  • 我同意Shinyo的看法。举个例子:

    程晋 8:00  17:00 2011-8-11 是

    程晋 8:00 17:00 2011-8-12 否

    程晋 8:00 17:00 2011-8-13 是

    程晋 8:00 17:00 2011-8-14 否

    这样你在算8月份的缺勤天数时, select count(是否上班栏位) from 你的表 where 日期>= 2010-08-01 and 日期 <= 2010-08-31 and 是否上班栏位 = 否

    起始日期和结束日期肯定都由你程序输入,这样就很容易得到一个月的起始日期和结束日期。

    Best regards,


    Mike Feng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 ckjason 2011年11月2日 1:37
    • 取消答案标记 ckjason 2011年11月2日 1:45
    2011年11月1日 18:49
    版主
  • 我同意Shinyo的看法。举个例子:

    程晋 8:00  17:00 2011-8-11 是

    程晋 8:00 17:00 2011-8-12 否

    程晋 8:00 17:00 2011-8-13 是

    程晋 8:00 17:00 2011-8-14 否

    这样你在算8月份的缺勤天数时, select count(是否上班栏位) from 你的表 where 日期>= 2010-08-01 and 日期 <= 2010-08-31 and 是否上班栏位 = 否

    起始日期和结束日期肯定都由你程序输入,这样就很容易得到一个月的起始日期和结束日期。

    Best regards,


    Mike Feng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    数据库没有保存缺席的记录/日期(只保存上班的日期)。
    2011年11月2日 1:49
  • 你可以加上这么一个栏位的.

    难道是 现在这个系统已经完全设计好了,老板只要你根据现有栏位查出缺勤天数??


    Mike Feng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年11月2日 3:44
    版主
  • 你可以加上这么一个栏位的.

    难道是 现在这个系统已经完全设计好了,老板只要你根据现有栏位查出缺勤天数??


    Mike Feng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    可以这样说,如果要添加或修改,有很多部分会要更改。。很麻烦。。
    2011年11月2日 3:51
  • 我同意Shinyo的看法。举个例子:

    程晋 8:00  17:00 2011-8-11 是

    程晋 8:00 17:00 2011-8-12 否

    程晋 8:00 17:00 2011-8-13 是

    程晋 8:00 17:00 2011-8-14 否

    这样你在算8月份的缺勤天数时, select count(是否上班栏位) from 你的表 where 日期>= 2010-08-01 and 日期 <= 2010-08-31 and 是否上班栏位 = 否

    起始日期和结束日期肯定都由你程序输入,这样就很容易得到一个月的起始日期和结束日期。

    Best regards,


    Mike Feng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    数据库没有保存缺席的记录/日期(只保存上班的日期)。

    建个表,保存所有上班日期,难道mysql 没有 not in 语句
    http://feiyun0112.cnblogs.com/
    2011年11月2日 3:54
    版主