PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 疑難雜症區
帳戶
密碼
 

回應
 
主題工具
mor8
Major Member
 

加入日期: Aug 2005
文章: 237
邏輯高手、sql語法高手教一下where的用法

小弟要算勞工退休
所以要算年資和年齡
請問要求出"符合這三個條件"員工的資料
where語法如何用呢?
一、55歲以上且年資15年以上
二、60歲以上
三、年資25年以上

年資、年齡日期以今天的日期為主,因為資料庫只有"生日"及"入廠日期",沒有年齡和年資欄位
以上麻煩了,謝謝
     
      

此文章於 2006-01-16 12:00 PM 被 mor8 編輯.
舊 2006-01-16, 11:52 AM #1
回應時引用此文章
mor8離線中  
瘋狂火星人
Elite Member
 
瘋狂火星人的大頭照
 

加入日期: Jul 2004
您的住址: 無止盡的文件地獄~~
文章: 4,714
引用:
作者mor8
小弟要算勞工退休
所以要算年資和年齡
請問要求出"符合這三個條件"員工的資料
where語法如何用呢?
一、55歲以上且年資15年以上
二、60歲以上
三、年資25年以上

年資、年齡日期以今天的日期為主,因為資料庫只有"生日"及"入廠日期",沒有年齡和年資欄位
以上麻煩了,謝謝


你的生日及入廠日期欄位應該是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 被 瘋狂火星人 編輯.
舊 2006-01-16, 01:27 PM #2
回應時引用此文章
瘋狂火星人離線中  
mor8
Major Member
 

加入日期: Aug 2005
文章: 237
高手!高手!高手!
小弟認為很困難的東西
兄台三兩下就解決了
小弟去資料庫查了一下
是varchar,
沒想到也可以套用你的sql語法
小弟感激不盡
舊 2006-01-16, 03:15 PM #3
回應時引用此文章
mor8離線中  
瘋狂火星人
Elite Member
 
瘋狂火星人的大頭照
 

加入日期: Jul 2004
您的住址: 無止盡的文件地獄~~
文章: 4,714
我不是高手........
那是最簡單的SELECT查詢語法,至於時間函數,我也是在線上說明找到的.....
你大概不是專職的資料庫管理員吧......
加油嘿.....
__________________

歡迎光臨瘋狂火星基地~~
自然進氣可變汽門單缸雙活塞人肉避震

此文章於 2006-01-16 03:46 PM 被 瘋狂火星人 編輯.
舊 2006-01-16, 03:39 PM #4
回應時引用此文章
瘋狂火星人離線中  
sean1976
*停權中*
 
sean1976的大頭照
 

加入日期: 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)



舊 2006-01-16, 04:19 PM #5
回應時引用此文章
sean1976離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是07:08 PM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。