![]() |
||
|
Major Member
![]() 加入日期: Aug 2005
文章: 237
|
邏輯高手、sql語法高手教一下where的用法
小弟要算勞工退休
所以要算年資和年齡 請問要求出"符合這三個條件"員工的資料 where語法如何用呢? 一、55歲以上且年資15年以上 二、60歲以上 三、年資25年以上 年資、年齡日期以今天的日期為主,因為資料庫只有"生日"及"入廠日期",沒有年齡和年資欄位 以上麻煩了,謝謝 此文章於 2006-01-16 12:00 PM 被 mor8 編輯. |
|||||||
|
|
|
Elite Member
![]() ![]() ![]() ![]() ![]() 加入日期: Jul 2004 您的住址: 無止盡的文件地獄~~
文章: 4,714
|
引用:
你的生日及入廠日期欄位應該是datetime型別吧..... MS-SQL有個時間函數"datediff",可以計算出兩個時間的間隔 select 員工ID,員工姓名,生日,入廠日期 from 員工資料表 where ((datediff(year,生日,getdate())>55) and (datediff(year,入廠日期,getdate())>15)) or (datediff(year,生日,getdate())>60) or (datediff(year,入廠日期,getdate())>25) 此文章於 2006-01-16 01:42 PM 被 瘋狂火星人 編輯. |
|||
|
|
|
Major Member
![]() 加入日期: Aug 2005
文章: 237
|
高手!高手!高手!
小弟認為很困難的東西 兄台三兩下就解決了 小弟去資料庫查了一下 是varchar, 沒想到也可以套用你的sql語法 小弟感激不盡 |
|
|
|
Elite Member
![]() ![]() ![]() ![]() ![]() 加入日期: Jul 2004 您的住址: 無止盡的文件地獄~~
文章: 4,714
|
我不是高手........
那是最簡單的SELECT查詢語法,至於時間函數,我也是在線上說明找到的..... 你大概不是專職的資料庫管理員吧...... 加油嘿..... 此文章於 2006-01-16 03:46 PM 被 瘋狂火星人 編輯. |
|
|
|
*停權中*
加入日期: Sep 2001 您的住址: 台北 , 台灣
文章: 971
|
select 員工ID,員工姓名,生日,入廠日期
from 員工資料表 where ((datediff(year,生日,getdate())>=55) and (datediff(year,入廠日期,getdate())>=15)) or (datediff(year,生日,getdate()) >=60) or (datediff(year,入廠日期,getdate()) >=25) ![]() |
|
|