| 
           | 
        
        
          
			
			  
			    
					
					茫茫網海中的冷日					 
					
					發生過的事,不可能遺忘,只是想不起來而已!									 | 
		       
			  
				| 
				   | 
				
					 
					 恭喜您是本站第 1746953 
										位訪客!
					 登入  | 註冊 
					 
				 | 
				
				  
					
			      			     | 
			   
			 
		   | 
        
      
      
        
                      
              
                                      
		                                       
		                                       
		                                       
		                                       
		                                       
		                             
			 | 
                          
                
                                    
                    
                      
	| 發表者 | 
	討論內容 | 
 
	 冷日 (冷日) | 
	發表時間:2019/1/24 14:55 | 
 
	
	
	- Webmaster
 
		  
	 
	 
	
		- 註冊日: 2008/2/19
 
		- 來自: 
 
		- 發表數: 15773
 
			 
	 | 
	
	
	- [轉貼]Oracle 日期問題 是包含或小於?
 
		- Oracle 日期問題 是包含或小於?
  Oracle 日期問題 是包含或小於? 以下的命令只求出2月1日至17日的資料,18日的資料則不包含 是否是oracle 日期屬性就是這樣?
SELECT *
FROM EPM.R01
WHERE R01_02 Between to_date('2005/02/01','yyyy/mm/dd') and to_date('2005/02/18','yyyy/mm/dd')
order by 1
  --------------------------------------------------------------------------------
  Oracle 裡,日期的資料型態包含了時間,所以如果你要取出 2005/2/18 的資料,則應該下
SELECT *
FROM EPM.R01
WHERE R01_02 Between to_date('2005/02/01','yyyy/mm/dd') and to_date('2005/02/18 23:59:59','yyyy/mm/dd HH:mi:ss')
order by 1
 不然系統會自動在後面加上 00:00:00,這樣當然不會取出 2/18 當天的資料。
  --------------------------------------------------------------------------------
  >Oracle 日期問題 是包含或小於?
  BETWEEN AND 是包含的。
  >以下的命令只求出2月1日至17日的資料,18日的資料則不包含 >是否是oracle 日期屬性就是這樣? > >SELECT * >FROM EPM.R01 >WHERE R01_02 Between to_date(''2005/02/01'',''yyyy/mm/dd'') and to_date(''2005/02/18'',''yyyy/mm/dd'') >order by 1
  三種方法: 1) Oscar 大大的 23:59:59 方法 2) 1 + to_date(''2005/02/18'',''yyyy/mm/dd'') 3) TRUNC(R01_02) BETWEEN ... AND ...
  我個人比較喜歡第 2 種。 留意第 2 和 3 會包含 2005/02/18 00:00:00 這一秒(如果用 BETWEEN AND 的話)
  寫錯了,應該是第二種方法會包含 2005/02/19 00:00:00 這一秒, 00:00:01 就不包(如果用 BETWEEN AND 的話)。
  原文出處:Oracle 日期問題 是包含或小於? / Oracle  / 程式設計俱樂部 
	 
	 | 
 
	| 
	
	
	 | 
 
 
 
討論串
 
 
 
                       |