1
這樣的事情是否存在或您是否始終需要手動設置最大字段長度?自動設置爲字段長度值的SQL數據類型
我們在我們的數據庫中有一個varchar
字段,其中值的長度可以是從0到800或更大的任何值。有沒有一種數據類型可以自動將它自己設置爲輸入值的長度?
這樣的事情是否存在或您是否始終需要手動設置最大字段長度?自動設置爲字段長度值的SQL數據類型
我們在我們的數據庫中有一個varchar
字段,其中值的長度可以是從0到800或更大的任何值。有沒有一種數據類型可以自動將它自己設置爲輸入值的長度?
(這是專門爲SQL Server - 但應該適用於大多數其他RDBMS以及)
您需要定義最大長 - 但需要varchar
類型將永遠只能存儲儘可能多的數據。所以需要定義最大值 - 但不是實際大小 - 這是自動處理的。
所以,如果您有varchar(800)
並且存儲50個字符 - 它佔用了52個字節。如果您存儲了100個字符 - 使用了102個字節(每個條目有2個字節的開銷)。
與此同時,我還是會說你應該不只是定義了所有列varchar(max)
(最大2 GB大小。) - 儘管它可能看起來很誘人,方便。請閱讀What's the Point of Using VARCHAR(n) Anymore?瞭解爲什麼不這樣做的一個很好的解釋。
nope沒有這樣的東西 – 2013-02-22 16:42:31
哈哈好吧,謝謝:) – NealR 2013-02-22 16:45:27
這就是爲什麼你不能聲明一個'VARCHAR'而不指定它的大小。 – 2013-02-22 16:45:33