㈠ sql怎麼改欄位的長度!比如我要把姓名 char(4)改為char(8)應該怎麼寫!
ALTER TABLE 表名 MODIFY(name char(8));
該方法是在Oracle上的方法,其他的你也可以試一試,因為很多都是一樣的
㈡ SQL語言中CHAR的用法
用法和詳細的操作步驟如下:
1、第一步,在桌面上,單擊「
Management Studio」圖標,見下圖,轉到下面的步驟。
㈢ SQL數據類型nchar,char,varchar與nvarchar所佔位元組數是多少
nchar與char是相似的,nvarchar與varchar是相似的。
(1)char類型: 對英文(ASCII)字元佔用1個位元組,對一個漢字佔用2個位元組,CHAR存儲定長數據很方便,CHAR欄位上的索引效率級高,比如定義 char(10),那麼不論你存儲的數據是否達到了10個位元組,都要佔去10個位元組的空間,不夠的字元用空格去填。因為是固定長度,所以速度效率高。
(2)Varchar類型:Varchar 的類型不以空格填滿,比如varchar(100),但它的值只是"qian",則它的值就是"qian"。
(3)而char 不一樣,比如char(100),它的值是"qian",而實際上它在資料庫中是"qian "(qian後共有96個空格,就是把它填滿為100個位元組)。
(4)由於char是以固定長度的,所以它的速度會比varchar快得多!但程序處理起來要麻煩一點,要用trim之類的函數把兩邊的空格去掉。
(5)VARCHAR存儲變長數據,但存儲效率沒有CHAR高。如果一個欄位可能的值是不固定長度的,我們只知道它不可能超過10個字元,把它定義為 VARCHAR(10)是最合算的。VARCHAR類型的實際長度是它的值的實際長度+1。為什麼「+1」呢?這一個位元組用於保存實際使用了多大的長度。
(6)nchar類型和Nvarchar類型是怎麼一回事呢?為了與其他多種字元的轉換,如中文,音標等,對每個英文(ASCII)字元都佔用2個位元組,對一個漢字也佔用兩個位元組,所有的字元都佔用2個位元組。
(7)關於長度與漢字:varchar(100)/char(100)能存50個漢字,nvarchar(100)/nchar(100)能存100個漢字。
㈣ SQL查詢中,如何判斷一個字元串欄位的內容的長度
實現的方法和詳細的操作步驟如下:
1、首先,打開sql查詢器,並連接相應的資料庫表,例如store表,如下圖所示。
㈤ 在sql server里建一個表,表中有一數據項是char類型的,最多要放20個漢字的話,長度最好是多少
一個漢字占兩個位元組,20個漢字,char類型的話,最長40個位元組。
所以設置為40就可以了。
但是使用char固定長度存儲,如果存儲的數據長度不夠40個位元組的話,資料庫會自動在後面補空格。
比如你在裡面存入「張三」,那麼讀取出來的數據,就是「張三+36個空格」
所以在處理的時候,注意處理空格。
㈥ sql語句如何修改欄位長度
代碼示例:
alter table T1 alter column F1 varchar(10)
一般地,改欄位名可以用這條語句:
復制代碼代碼示例:
alter table A rename column a to c
實際應用中,往往是用J-SQL進行編譯,而J-SQL不支持修改欄位名。
因此,如果一定要修改欄位名,那麼只有通過變通的方法了。思路:
1.新建一個欄位,取名為c;
2.將欄位a的內容拷貝到c;
3.刪除欄位a;sql修改欄位長度的語法:
alter table 表名 modify 欄位名 欄位類型;sql修改欄位長度:
復制代碼代碼示例:
alter table qtline modify qtl_bidernote VARCHAR2(4000);
標准SQL,對任何資料庫都適用
復制代碼代碼示例:
alter table fzrtmis.reporttemplate modify REPNAME varchar(100);
修改欄位名名稱:
復制代碼代碼示例:
ALTER TABLE TABLENAME RENAME COLUMN COL1 TO COL2;
添加欄位:
復制代碼代碼示例:
alter table fzrtmis.itiembuildqk add STATIONSTATE CHAR(1)
㈦ sql中數據類型的長度
1.varchar,0在資料庫中作為字元串中的一個字元是不能被隱藏的,而作為int則會被隱藏;
2.datetime,專門用於存放時間的數據類型;
3.字元串,字元只是一字元串中的一個個體,字元只能表示一個字母或漢字;
4.
首先,我們來看下nvarchar和varchar的官方幫助里的說明:
varchar(n)
長度為
n
個位元組的可變長度且非
unicode
的字元數據。n
必須是一個介於
1
和
8,000
之間的數值。存儲大小為輸入數據的位元組的實際長度,而不是
n
個位元組。所輸入的數據字元長度可以為零。varchar
在
sql-92
中的同義詞為
char
varying
或
character
varying。
nvarchar(n)
包含
n
個字元的可變長度
unicode
字元數據。n
的值必須介於
1
與
4,000
之間。位元組的存儲大小是所輸入字元個數的兩倍。所輸入的數據字元長度可以為零。nvarchar
在
sql-92
中的同義詞為
national
char
varying
和
national
character
varying。
二、該如何選擇兩種字元呢?
varchar和nvarchar都能存儲漢字。區別在於,一個漢字佔varchar(2),只佔nvarchar(1),而字母只佔varchar(1),那麼在資料庫欄位求長度的時候,用varchar你就不一定知道它確切的知道它到底有幾個字,如果用nvarchar,那麼漢字也是nvarchar(1),字母也是nvarchar(1),那麼已經很明顯了.
同時,varchar的檢索快於nvarchar。
至於,具體該選擇哪種,看你自己的想法和需求了
5.單引號表示單引號中的數據是實際數據,如:int
test=5;
select
'test'與select
test不同,前者會是字元串test,而後者則是5
6.'
'表示的是一個空格,表明name1與name2中間有一個空格,而三者組合成一個字元串並且所在的列命名為name
㈧ sqlserver中 varchar 最大長度是多少
最大長度8000,用max可以存儲達到2G。
例如:
varchar [ ( n | max) ]
可變長度,非 Unicode 字元數據。n 的取值范圍為 1 至 8,000。max 指示最大存儲大小是 2^31-1 個位元組。
在某些情況下,前台應用對過長的字串是無法正確處理的,比如一些表格控制,比如C++定義的字元串變數。
(8)sqlchar型欄位值長度擴展閱讀:
注意事項
存儲限制
varchar 欄位是將實際內容單獨存儲在聚簇索引之外,內容開頭用1到2個位元組表示實際長度(長度超過255時需要2個位元組),因此最大長度不能超過65535。
1、編碼長度限制
字元類型若為gbk,每個字元最多佔2個位元組,最大長度不能超過32766;
字元類型若為utf8,每個字元最多佔3個位元組,最大長度不能超過21845。
若定義的時候超過上述限制,則varchar欄位會被強行轉為text類型,並產生warning。
2、行長度限制
導致實際應用中varchar長度限制的是一個行定義的長度。 MySQL要求一個行的定義長度不能超過65535。若定義的表長度超過這個值,則提示
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。
㈨ SQL2005中欄位值char類型的問題
一般對數據結構沒有特殊要求的話,字元(包括特殊字元)都是用varchar(50),50表示最大長度,如果還是不夠用就選varchar(max),用起來都是沒有問題的。
㈩ 請問一下sql server中char類型最多可以存多少個字元啊
最好的解釋就是看sql
server自帶的聯機叢書,這是我從上面摘錄的:
char和varchar都是字元串類型的>>>>
char:
固定長度的非
unicode
字元數據,最大長度為
8,000
個字元。
varchar:
可變長度的非
unicode
數據,最長為
8,000
個字元。
nchar是unicode
字元串類型的>>>>
nchar
固定長度的
unicode
數據,最大長度為
4,000
個字元。
用unicode編碼的字元串,結果是字元的整數值.