| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		wancheng
 
 
  註冊時間: 2004-04-01 文章: 24
 
  第 1 樓
  | 
		
			
				 發表於: 星期一 七月 07, 2014 12:23 pm    文章主題: VFP 與 MS-SQL 的 SQL-SELECT 語法 | 
				     | 
			 
			
				
  | 
			 
			
				在 VFP 中的資料檔, 如用 SELECT ..... WHERE 客戶編號 BETWEEN 'A'  AND 'B' ...
 
可抓出客戶編號開頭為 'A'-'B' 開頭的所有資料,
 
但同樣指令語法應用於 MS-SQL,卻只能抓出 'A' 開頭的資料,
 
 
小弟不才,改成 BETWEEN 'A' AND 'Bz' 的方式,雖也可達到目前我所要的結果,
 
但卻覺得這似乎不是很正規的作法,查了討論區的資料,
 
卻好像沒有類似問題,所以只好向大家提問了. | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		yctsai
 
 
  註冊時間: 2003-04-11 文章: 180
 
  第 2 樓
  | 
		
			
				 發表於: 星期一 七月 07, 2014 1:02 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| SELECT ..... WHERE substring(客戶編號,1,1) BETWEEN 'A' AND 'B' | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		wancheng
 
 
  註冊時間: 2004-04-01 文章: 24
 
  第 3 樓
  | 
		
			
				 發表於: 星期一 七月 07, 2014 2:04 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				謝謝 yctsai 的回覆,
 
 
不知還有其他語法嗎?
 
 
因為如果使用 WHERE substring(客戶編號,1,1) BETWEEN 'A' AND 'B' 不知是否會降低查詢速度呢? | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		211482
 
 
  註冊時間: 2003-07-15 文章: 53
 
  第 4 樓
  | 
		
			
				 發表於: 星期一 七月 07, 2014 3:36 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| SELECT ..... WHERE 客戶編號 LIKE 'A%' OR 客戶編號 LIKE 'B%' | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		cdy
 
 
  註冊時間: 2008-12-30 文章: 26
 
  第 5 樓
  | 
		
			
				 發表於: 星期一 七月 07, 2014 8:01 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| SELECT ..... WHERE left(客戶編號,1) in ('A','B') | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		wancheng
 
 
  註冊時間: 2004-04-01 文章: 24
 
  第 6 樓
  | 
		
			
				 發表於: 星期四 七月 10, 2014 1:35 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				謝謝大家的幫忙回覆,我舉的例子有點不好,
 
如果要查 開頭為 'A'-'F' 開頭的所有資料,這樣就不好用
 
客戶編號 LIKE 'A%' OR 客戶編號 LIKE 'B%' OR ...... OR 客戶編號 LIKE 'F%' 
 
或 left(客戶編號,1) in ('A','B','C','D','E','F') 了,
 
 
所以還是用 substring(客戶編號,1,1) BETWEEN 'A' AND 'F'
 
或 left(客戶編號,1) BETWEEN 'A' AND 'F' | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		foxy
 
  
  註冊時間: 2007-08-16 文章: 265 來自: 泰國
  第 7 樓
  | 
		
			
				 發表於: 星期日 七月 13, 2014 11:17 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				substring(客戶編號,1,1) BETWEEN 'A' AND 'F' 
 
或 left(客戶編號,1) BETWEEN 'A' AND 'F'
 
 
-- 需要在table 上設定 index for substring(客戶編號,1,1), 才能 optimize _________________ 進銷存+生產製造+會計+員工薪資+CRM+POS零售+餐廳手機app+電商手機app+電商網站,物流系統. 正/簡體中文,英,日,泰,緬甸文. MS SQL Server + 前台 VFP + PHP 網站 + Flutter 手機 App, 都共享 MS SQL Server的資料.  www.foxacc.com  LINE: mike-lm | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		JEFFWANG
 
 
  註冊時間: 2004-03-03 文章: 40
 
  第 8 樓
  | 
		
			
				 發表於: 星期四 七月 17, 2014 9:55 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				連續條件的推  BETWEEN ...不連續的推in ('A',...
 
真的速度上有差... | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		johnson223
 
 
  註冊時間: 2014-07-07 文章: 1
 
  第 9 樓
  | 
		
			
				 發表於: 星期四 七月 17, 2014 2:34 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| SELECT ..... WHERE 客戶編號  LIKE '[A-F]%' | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |