2010-12-18

group by 群組小計

常常會用到group by做群組,
如果需要統計群組的數值,可以利用下列兩個函式,

ROLLUP-針對類別做組統計

CUBE-針對各群組類別作小計及全部總計

參考自
MSDN-GROUPING SETS、ROLLUP 和 CUBE 的執行計畫
VITO の SQL 學習筆記-分組查詢

2010-10-12

Delphi7 安裝 QuickReport

Delphi 7 安裝完畢後,
預設並不會將QuickReport的Package裝進去,
安裝方式如下:
Component-->Install Packages-->ADD
檔案路徑選擇如下:
C:\Program Files\Borland\Delphi7\Bin\dclqrt70.bpl

2010-07-21

SQL小數計算

在SQL Server中正整數除於正整數得到的結果也是正整數,
但是有時候會有需要計算到小數後幾位時可使用CAST函數進行型態轉換!
select cast(10 as decimal(10,5))/cast(3 as decimal(10,5))
---------------------------------------
3.3333333333333333
select ROUND(cast(10 as decimal(10,5))/cast(3 as decimal(10,5)),5)
---------------------------------------
3.3333300000000000
select Convert(decimal(10,5),ROUND(cast(10 as decimal(10,5))/cast(3 as decimal(10,5)),5))
---------------------------------------
3.33333
參考自:Microsoft TechNet-CAST 和 CONVERT

2010-07-20

設定SQL每週起始日

因為工作日統計的需求,有些公司會將星期日設為每週的第一天,
但有些公司是將星期一設為每週的第一天,而在SQL Server 2008中,
系統欲設為星期日為每週的第一天(可使用@@DATEFIRST查詢),
若因為統計需求配合其他日期函數,在撈取時可以使用SET DATEFIRST函數,
設定每週起始日,如SET DATEFIRST 1,表示將星期一設為每週的第一天,
此設定僅在該是連線建立上有效,不影響系統上的設定!
SET DATEFIRST 1
select @@DATEFIRST
-----------------------------
1
參考自:Microsoft TechNet-SET DATEFIRST

2010-05-22

MS SQL Server 相關系統指令

--查詢資料表相關使用空間
sp_spaceused TableName

--查詢資料表資料結構
sp_help TableName 

--查詢資料庫內所有表格
select * from INFORMATION_SCHEMA.TABLES

--查詢資料庫內所有欄位
select * from INFORMATION_SCHEMA.COLUMNS