2012-01-24 52 views
-1

可能重複:
how to find rowsize in table計算每個記錄的長度在表

如何計算表中的每個記錄的長度(SQL Server 2008中)

+1

你所說的'record'意思?整排?包括內部開銷?也請提供你的表格定義。如果它不包括潛在的離行列,那麼有一個簡單的方法。 –

+0

我的意思是記錄作爲一個元組或行 – user824910

+0

CREATE TABLE #TEMP ( \t RollID INT, \t名稱NVARCHAR(100), \t類NVARCHAR(100) ) – user824910

回答

1

嘗試使用LEN()代替DATALENGTH()

SELECT LEN(yourcolumnName) AS LengthOfEntry From yourtablename 

這一起爲您提供了該列中的每個條目

只是把它們串的長度,每列獲得條目整個表

例子:

SELECT LEN(yourcolumnName) as Column1, LEN(yourcolumnname2) AS Column2 From yourtablename 

您可以使用SUM()來獲得該列中每個字符的總數

SELECT SUM(LEN(yourcolumnName)) as Column1, SUM(LEN(yourcolumnname2)) AS Column2 From yourtablename 
+0

他正在尋找總行大小;這僅適用於單個列。 – Yuck

+0

DATALENGTH不會給你準確的長度...對於INT的長度總是2,儘管價值的變化..我想用這個長度來檢測連續的變化 – user824910

+0

這是真的,我會離開答案,因爲我是對此感到好奇。當varchars除以2時,會給出該行的確切長度。我現在無法嘗試Ints,這種類型的解決方案會導致問題的其他地方嗎? – sealz

0

因爲這會幫助我跟蹤該行的更新變化..或 找到該行是否被修改

您正在尋找觸發器,我想。這將幫助你在確定任何記錄所做的更改..

Triggers Reference