1、 isnull();函數
在SQL Server 中經常會遇到一些字段為空值,這裡可以使用isnull()這個函數來做判斷;eg:
select isnull(Table_column,'Test') as column from Table
這個語句意思就是:從Table表中取字段Table_column,如果該字段值為空,則用“Test”字符來代替;
2、sysobject
SQL Server中有一個系統對象表 sysobject 這個表裡存儲了數據庫中所有的對象,比如約束,默認值,日志,規則,存儲過程,表名等等,詳細可以查看幫助手冊;
select name from sysobject where Xtype='U'
這語句就是講數據庫中所有的表名查出來;
Xtype可以取值為以下:
C = CHECK 約束
D = 默認值或 DEFAULT 約束
F = FOREIGN KEY 約束
FN = 標量函數
IF = 內嵌表函數
K = PRIMARY KEY 或 UNIQUE 約束
L = 日志
P = 存儲過程
R = 規則
RF = 復制篩選存儲過程
S = 系統表
TF = 表函數
TR = 觸發器
U = 用戶表
V = 視圖
X = 擴展存儲過程
AF = 聚合函數 (CLR)
FS = 程序集 (CLR) 標量函數
FT = 程序集 (CLR) 表值函數
IF = 內聯表函數
IT = 內部表
PC = 程序集 (CLR) 存儲過程
PK = PRIMARY KEY 約束(type 為 K)
SN = 同義詞
SQ = 服務隊列
TA = 程序集 (CLR) DML 觸發器
TT = 表類型
UQ = UNIQUE 約束(type 為 K)
3、SQL Server 2008工具使用;
新建立一個數據庫表時,當建立好了,但又要修改,有時候DB會阻止對表結構的修改,需要設置如下:
SQLServer----"tool"----"option"----"Designers"----"prevent saving changes that require table recreating" 去掉這個“阻止修改”選項;
4、nvarchar(Max)
SQL Server 中Max是最大值,其定義是4000,nvarchar(Max) 其實就是nvarchar(4000);
5、select * from table
在數據庫中,一般小數據量的select * from table 不會發覺有什麼慢,但是一旦到了大數據量的數據庫中,這種查詢是最慢的最耗時間的!數據庫的開銷會很大!
所以不要輕易的在大數據表上執行不帶條件的select cout(*) from table,不僅耗時大,而且會把這個數據庫表上S鎖,在cout(*)期間,任何有關和該表的insert update delete都會被阻止!!!
6、getdate()
getdate()函數用於獲得當前系統的系統時間這個精確到了毫秒:eg:"2013-12-12 12:23:33:321"
7、newid()
這個不用多說了,做主鍵ID時最常用了,此函數可以生成一個唯一的guid,32位長,這個強度大,而且由數據庫系統生成,具有唯一性!