目前分類:T-SQL (18)
- May 27 Mon 2019 11:54
SQL 2012新功能-日期/時間函數
- Oct 18 Thu 2012 17:32
在OPENQUERY中使用變數的方法。
- Oct 05 Fri 2012 19:56
使用 OpenRowset、OpenDataSource 查詢EXCEL
使用T-SQL查詢excel檔案中的資料是最省時省力的,執行前須確定SQL Server是否允許使用 OPENROWSET 和 OPENDATASOURCE 進行特定分散式查詢(參考註1)。由於需投過SQL Server讀取excel檔案中的資料,因此SQL Server執行帳號需要擁有存取該檔案的權限,可參考(註2)說明調整SQL Server啟動帳號。
建立excel檔案,在檔案內容建立以下資料。接著使用不同的
- Jun 05 Tue 2012 23:59
欄位中的 NULL處理(2)
當 SET ANSI_NULLS 是 OFF 時,等於 (=) 和不等於 (<>) 比較運算子並不遵照 ISO 標準。
當 SET ANSI_NULLS 是 ON 時,使用 WHERE column_name = NULL 的 SELECT 陳述式會傳回零個資料列,即使 column_name 含有 Null 值,也是如此。使用 WHERE column_name <> NULL 的 SELECT 陳述式也會傳回零個資料列,即使 column_name 含有非 Null 值,也是如此。在將來的 SQL Server 版本中,ANSI_NULLS 一定會是 ON,而且明確將此選項設定為 OFF 的應用程式將會產生錯誤。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。
- May 01 Tue 2012 18:42
SQL 2012 T-SQL 新增功能-TRY_CONVERT
declare @numerics as table ( row_id tinyint identity(1,1) primary key, numeric_val varchar(100)) insert into @numerics(numeric_val)values ('35.2'),(' 100.7(received tylenol per RN') ,(' 120'),('100.6(@4pm)'),('92.4 orally'),('37.2(99.0)'),('35.3 C'),('-97.6') select n.numeric_val, try_convert(float, n.numeric_val) as nv_try_convert, isnumeric(n.numeric_val) as nv_isnumeric, case when try_convert(float, n.numeric_val) is not null then abs(try_convert(float, n.numeric_val)) when left(ltrim(n.numeric_val),4) like '[0-9][0-9].[0-9]' then abs(try_convert(float, left(ltrim(n.numeric_val),4))) when left(ltrim(n.numeric_val),5) like '[0-9][0-9][0-9].[0-9]' then abs(try_convert(float, left(ltrim(n.numeric_val),5))) end as nv_try_convert_case from @numerics n
- May 01 Tue 2012 17:40
SQL 2012 T-SQL 新增功能-WITH RESULT SETS
- May 01 Tue 2012 00:48
SQL 2012 T-SQL 新增功能- 分頁處理
當查詢的筆數過多時,不建議將所有的資料往用戶端送。因為傳送過多的資料,會讓有限的網路頻寬影響傳送的效能。此外,SQL Server需等待使用者端程式處理完一批資料後,才能傳送下一批,導致前端程式效能不佳,也拖累SQL Server。且取得過多的資料也會讓人無法分析,大量細節資料下傳意義不大。
基於上述原因,會視需要而將結果集分頁。舉例來說,假設符合條件的資料有1000筆,而網頁上每頁所呈現的資料為25筆資料。只要查詢當下各頁時,由資料庫中取得符合的25筆資料傳至用戶端即可。不需將1000 筆資料整批傳送至前端,再由前端程式挑出25筆記錄呈現。
- Apr 27 Fri 2012 13:50
欄位中的 NULL處理
資料欄位中有NULL值時,需要特別小心處理
否則查詢時,通常會被遺漏此筆資料
- Apr 20 Fri 2012 14:58
T-SQL 動態 Pivot
- Dec 02 Thu 2010 00:52
SQL Server常用指令大集合
- 如果你想當個專業的DBA,那下列這些指令可不能不熟。更多詳細內容可參考線上說明
sp_who
- Dec 01 Wed 2010 16:57
SQL Split
如何將逗號分隔的字串透過T-SQL回傳成一組DataSet呢。
例如輸入 Sandy,Marry,Dofi 一組字串時,回傳下列三筆資料 。
- Nov 23 Tue 2010 13:31
T-SQL 的四捨五入
- Nov 23 Tue 2010 13:06
將不足的位數補零
如何將在位數不足的數字左側補零呢? 你可以考慮使用 SQL Server提供的字串處理函數 Replicate()指定補零的次數。
此函數的基本語法如下
- Oct 06 Wed 2010 16:57
為何欄位別名不能在 where 子句中使用
USE Northwind
GO
- Apr 26 Mon 2010 15:43
Checksum 應用
CHECKSUM 會針對它的引數清單,來計算稱為總和檢查碼的雜湊值
CHECKSUM可應用於比對兩個資料表內容,列出經過CHECKSUM後雜湊值不符的資料列。範例程式碼如下。
- Oct 25 Sun 2009 15:44
利用系統資料表找尋資料庫物件內的關鍵字
Use AdventureWorks
- Oct 14 Tue 2008 13:16
列出資料庫內的 ideneity
-----------------------------------------------