自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server記錄輪班的實際操作技巧描述

數(shù)據(jù)庫 SQL Server
我們今天主要講述的是SQL Server記錄輪班的實際操作技巧,以及在實際操作過程中遇到的一些問題的解決,以下就是文章的主要內(nèi)容的描述。

以下的文章主要向大家描述的是SQL Server記錄輪班的實際操作技巧,我們是以舉例子的方式來對SQL Server記錄輪班的實際操作技巧做一更為詳細(xì)的介紹,以下就是相關(guān)內(nèi)容的具體描述。

例:公司員工采取三個輪班制度:凌晨0:00到早上8:00為***班,早上8:00到下午4:00為第二班,下午4:00到晚上12:00為第三班。

員工使用電子時鐘進行簽名,這種電子簽名可以自動將記錄添加到SQL Server數(shù)據(jù)庫中。但是,有時候,需要增加一個夜班;即使這個輪班發(fā)生在第二天,它仍然會被認(rèn)為是第三班。

你也許希望根據(jù)輪班對記錄進行分組,但是在你的計劃中會有兩個非常令人頭痛的問題:

(1)不是所有的雇員都是按時到達的;

(2)有時候員工工作的時間會比他們的一個輪班的時間長一些。

為了能在你的列表中得到正確的分組,你必須假設(shè)所有的員工能在一個輪班的開始和結(jié)束時間之間的任意時間開始工作。

使用CASE語句是一種解決辦法。Listing A中的SQL語句告訴我們,在創(chuàng)建測試表沒有錯誤的情況下,它是如何工作的。

為了使程序代碼完全準(zhǔn)確的運行,你需要在時間的小窗口中得到每一個輪班的開始時間和下一個輪班的結(jié)束時間。在剛才的例子中,你可以用'15:59:59.123'這個值代替@StartTime,然后再重新運行代碼。這時候,你必須在每一個輪班結(jié)束的分界點上增加999毫秒。

解決方案

這個例子假設(shè)輪班時間從來沒有改變過,但是如果改變了輪班時間該怎么辦呢?你必須仿照這個例子并根據(jù)改變了的時間寫出所有的代碼。

一個更好一點的主意就是,針對我們的輪班創(chuàng)建一個表來調(diào)用Shifts的開始時間和結(jié)束時間。在這個表中,你可以修改Case語句來查找StopTime列。

Listing B中包含了創(chuàng)建Shifts表并向該表中增加記錄的代碼。代碼在一個輪班中設(shè)置了時間后,這樣使代碼看上去既簡單又靈活:

  1. DECLARE @StartTime VARCHAR(20) SET @StartTime ='22:59:59' 
  2. SELECTTOP 1 ShiftName FROM ShiftWork.Shifts WHERE Shifts.  
  3. StartTime <= @StartTime ORDERBY StartTime DESC  

我之所以要將輪班記錄進行降序排列,是為了避免第三個輪班的邊界問題。我將用一些測試案例來論證我的結(jié)論,這些內(nèi)容你可以在Listing C中看到。

實際上,你可以將這個邏輯應(yīng)用到TemeCards表的記錄中去,而不需要創(chuàng)建另外的表,也就不需要在表中增加數(shù)據(jù)了。我同樣使用一個簡單的變量來論證我的邏輯。

以上的相關(guān)內(nèi)容就是對SQL Server記錄輪班的技巧的介紹,望你能有所收獲。

 SQL Server記錄輪班的技巧

上述的相關(guān)內(nèi)容就是對SQL Server記錄輪班的技巧的描述,希望會給你帶來一些幫助在此方面。

【編輯推薦】

  1. SQL Server處理空值操作中的3大問題有哪些?
  2. SQL Server 2000優(yōu)化SELECT 語句的方案介紹
  3. SQL Server 2000文件損壞的修復(fù)方案
  4. 改善SQL Server安全規(guī)劃的6步驟
  5. SQL Server 2000重建索引的實際操作流程
責(zé)任編輯:佚名 來源: 比特網(wǎng)
相關(guān)推薦

2010-06-28 13:27:33

SQL Server視

2010-07-06 09:20:30

SQL Server查

2011-04-01 10:09:21

SQL Server記錄輪班

2010-07-07 11:03:21

SQL Server索

2010-07-21 15:22:07

2010-07-07 17:05:39

SQL Server數(shù)

2010-06-28 12:39:14

SQL Server數(shù)

2010-07-23 09:25:50

SQL Server導(dǎo)

2010-07-16 11:10:52

SQL server

2010-03-29 15:57:07

Oracle exp備

2010-06-28 12:27:35

SQL Server

2010-06-30 17:56:06

2010-06-17 12:26:51

SQL Server索

2010-07-12 10:13:44

SQL Server表

2010-06-18 08:30:48

SQL Server

2010-05-11 09:51:57

MySQL表修改

2010-07-23 14:26:37

SQL Server存

2010-07-02 11:10:56

SQL Server

2010-07-21 09:28:34

SQL Server

2010-07-09 12:49:41

SQL Server自
點贊
收藏

51CTO技術(shù)棧公眾號