1樓:匿名使用者
我舉個例子你就明白了。假如char(5),那輸入"abc",你讀取這個欄位的時候,就是"abc ",後巖罩面會加兩個空格,長度為5假如varchar(5),那輸入"abc",你讀取這個欄位的時候,就是"abc",後面會加兩個空格,長度為3 這種char型別,程式設計的時候如果用list類控制項或者網頁的下拉選單,兩個欄位合遊晌並粗磨鬧,就比較方便了,例如abc |肉類a |菜類如果用varchar型別,就會變成:abc|肉類a|菜類。
2樓:匿名使用者
比如,存碼粗手儲字串「abc",對於char (10),表示你儲存的字元將佔10個位元組(包括7個空字元),而同遲嫌樣的varchar2 (10)則只佔用3個字凳慧節的長度,10只是最大值,當你儲存的字元小於10時,按實際長度儲存。
3樓:匿名使用者
固定長度 valchar( n ) n 是要設定乙個適當的粗孝譁數值才能巖行應用,否則的話就該用動態的如靜態陣列string s = new string[1];根據需要設定在適當的範圍,多了浪費資源,少了不慎巖夠用。動態陣列arraylist s = new arraylist();
4樓:匿名使用者
不用襲凳塌說那麼多啦 直接粗鎮: char輸掉了空間贏得了時間 varchar輸掉了時拍圓間贏得了空間 ..相信不用解釋那麼多的你會明白。
請問。sql中可變長度和固定長度的區別?
5樓:還想飛
char的長度是固定的。
varchar長度是可以變化的。
固定與可變是針對儲存介質(硬碟)來說的。
假如:char和varchar的預設長度都設為10,兩個欄位都分別寫入「abc」
char 損耗了硬碟10位元組 = 「abc」長度 + 7個空字元。
varchar損耗了硬碟 3位元組 = 「abc」長度設定預設值n(假如是 10 ) 則該欄位內能寫入的字串長度最大隻能為 10參考。
6樓:網友
反了,char固定,不足用空補, varchar是可變。
declare @a char(6)
set @a='ffff'
select len(@a + 'dd')set @a=@a + 'dd'
select @a
把char改成varchar再看看。
自己體會。
sql固定資料型別和可變資料型別有什麼區別
7樓:匿名使用者
比如說 char(8) 和 varchar(8) 吧我有兩個名字 : 兔兔 和 平淡兔兔 分別用 char 和varchar 來存, 存有 兔帆啟兔 的char 型,它佔據了 8個字長的空昌轎扮間,但是耐灶我的value只有4個字長。 varchar 儲存的 兔兔,僅僅只佔用了4個字長。
sql 資料庫 資料型別 固定長度的字串怎麼定義
8樓:網友
在建立這個學號的欄位時,增加約束就行啊。
舉例:create table 表名(學號列 number(5) check (length(學號列)=5));
insert into 表名(學號列)
values(222);
失敗insert into 表名(學號列)values(12345);
成功學號列。
sql server中定長char(n)和變長varchar(n)有什麼區別,誰能告訴我啊?
9樓:網友
varchar 對每個英文(ascii)字元都佔用2個位元組,對乙個漢字也只佔用兩個位元組。
char 對英文(ascii)字元佔用1個位元組,對乙個漢字佔用2個位元組。
varchar 的型別不以空格填滿,比如varchar(100),但它的值只是"qian",則它的值就是"qian"
而char 不一樣,比如char(100),它的值是"qian",而實際上它在資料庫中是"qian "(qian後共有96個空格,就是把它填滿為100個位元組)。
由於char是以固定長度的,所以它的速度會比varchar快得多!但程式處理起來要麻煩一點,要用trim之類的函式把兩邊的空格去掉!
上面的理論是從網上copy來的]
至於用法如下:
在一些長度變化不是很大的欄位應該用char型別,而對長度變化很大的欄位應該用varchar型別了。
10樓:網友
char和varchar區別在於字元的長短char是10個長度varchar是50個長度。
11樓:陽光上的橋
char(n)是定長格式,格式為char(n)的欄位固定佔用n個字元寬度,如果實際存放的資料長度超過n將被擷取多出部分,如果長度小於n就用空字元填充。
一般地說,只要乙個表有乙個欄位定義為varchar(n)型別,那麼其餘用char(n)定義的欄位實際上也是varchar(n)型別。
如果你的長度本身不長,比如就3~10個字元,那麼使用char(n)格式效率比較高,搜尋速度快。但是如果有的資料很長,有的資料有比較短,比如註冊使用者的簡介這樣的欄位,實在沒有辦法,而且很在乎浪費的空間,那麼就用varchar(n)格式。
定長記錄和變長記錄各有什麼特點?在sql server中,資料記錄的儲存有什麼特點
12樓:射手幽靈伊
1全部定長的,就是不管儲存多少內容,長度都是這麼長,以空格填充。比如定義char(40),如果你的內容只有「123」,那麼,實際儲存就是「123 (37個空格) 」
變長的,就是內容多少,就儲存多長。
一般來說,定長的效率會好一些。變長的需要處理一下。但這個效率應該不會影響到應用。
sql server中建立表時各個資料型別時什麼意思??
13樓:加百列
sql server 資料型別分類及含義如下:
1、character 字串:
2、unicode 字串:
3、binary 型別:
4、number 型別:
4、date 型別:
5、其他資料型別:
sql,,varchar(50)和char(50)有什麼區別?分別可以容納多少個漢字和英文字母?
14樓:捐你妹
首先,可以容納的漢字數和英文字母數是一致的。
區別在於,varchar是可變的,char是不可變的。
比如你要存'123456789',我們知道要9個字元的長度。那麼對於varchar來說,在資料表中就是佔用了9個字元的長度,儲存到硬碟,也是這個長度。但是對於char來說,就不是了,它依然使用了50個字元,儲存到硬碟也是。
所以,在欄位長度經常變化,並且最大長度僅在少數情況下出現時,應當使用varchar。僅在長度一定是一致的,或大部分情況下是最大長度,偶爾是其他長度時,才使用char。
15樓:春天在這裡開花
此處例子---sql server
對於字元型別的有:
char:固定長度,儲存ansi字元,不足的補英文半形空格。
nchar:固定長度,儲存unicode字元,不足的補英文半形空格varchar:可變長度,儲存ansi字元,根據資料長度自動變化。
nvarchar:可變長度,儲存unicode字元,根據資料長度自動變化。
也就是說:varchar 可變長度,varchar(50)即長度為:50個字元當有存入值時,就跟據實際的值的大小(長度)存入資料。
請問各位高手SQL中怎樣輸出整行的資訊,而不需要寫上所以欄位名稱
怎樣用sql語句修改已有表的欄位名稱,但是不修改或刪除欄位的內容?sqlite版本的的alter table命令允許使用者重新命名或新增新的欄位到已有表中,不能從表中刪除欄位。樓主sqlite不允許修改可刪除欄位。只能修改表名和新增欄位。你可以新建一張表把現有表的資料插入進去,然後刪除現有表,重新命名新建...
SQL語句問題,SQL語句問題
兩種寫法 select b.b id a.id as a id a.o money a.n money as abc from a,b where b.a id a.id select b.b id a.id as a id a.o money a.n money as abc from b lef...
sql語句sql語句怎樣新增使用者
sql語句沒有新增使用者一說,但可以建立使用者。以oracle為例,建立使用者的語法為 create user 使用者名稱 identified by 密碼 說明 使用者名稱應為英文字母 不區分大小寫 密碼則應為數字或字母 區分大小寫 或英文字元或它們的組合。在建立後需要給使用者賦予一些許可權,才可...