|  | ||
| 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 |   | 
| 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 被 瘋狂火星人 編輯. | |||
|  2006-01-16, 01:27 PM
			
			
	#2 |   | 
| Major Member  加入日期: Aug 2005 
					文章: 237
					
				 | 高手!高手!高手! 小弟認為很困難的東西 兄台三兩下就解決了 小弟去資料庫查了一下 是varchar, 沒想到也可以套用你的sql語法 小弟感激不盡 | 
|  2006-01-16, 03:15 PM
			
			
	#3 |   | 
| Elite Member      加入日期: Jul 2004 您的住址: 無止盡的文件地獄~~ 
					文章: 4,714
					
				 | 我不是高手........ 那是最簡單的SELECT查詢語法,至於時間函數,我也是在線上說明找到的..... 你大概不是專職的資料庫管理員吧...... 加油嘿..... 此文章於 2006-01-16 03:46 PM 被 瘋狂火星人 編輯. | 
|  2006-01-16, 03:39 PM
			
			
	#4 |   | 
| *停權中*  加入日期: 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 |   |