㈠ 建立資料庫表是手機號碼使用什麼數據類型比較好
使用char(11),類型,因為手機號是固定的11位,所以可以直接使用char(11)
char用於C或C++中定義字元型變數,只佔一個位元組,取值范圍為-128~+127(-2^7~2^7-1)。C語言中如int、long、short等不指定signed或unsigned時都默認為signed,但char在標准中不指定為signed或unsigned,編譯器可以編譯為帶符號的,也可以編譯為不帶符號的。
(1)sql電話用什麼數據擴展閱讀:
char類型取1位元組或8位,它可以存儲的正整數是01111111或127。如果將int類型的整數I=128分配給ch,就會發生溢出。因為128是int類型的,佔用4個位元組,所以二進制代碼為0000000000000000。如果你把它分配給一個8位的char變數,你只能把較低的8位的10000000放進去,其他的都將被刪除。
整數在計算機中以補碼的形式存儲。此時,1000萬在計算機眼裡是一個補充。最左邊的是1,表示一個負數。所以溢出會使最大的正整數變成最小的負整數。
㈡ 資料庫的表要保存一個11位電話號碼,應該用什麼型的
資料庫中保存11位的電話號碼一般使用的是int型,長度11,因為int型的最大長度就是11位。
親!感覺有用請採納,謝謝!!
㈢ 資料庫中電話號碼和身份證用什麼數據類型
用字元型,可變的。sql
server是varchar,oracle是varchar2。是否用數字,要看是否用於計算、數值比較,所以電話號碼和身份證不能用數字。特別是身份證還可能會用到截取出生日期,更要用字元了。
㈣ sql server中遇到問題:我有很多電話號碼,資料庫中user表phone欄位存電話號碼,怎樣知道哪些電話庫里
這個問題分兩種情況,如果你的user表中是每個人的電話只存一行,那麼也就是說一行的數據記錄中一個phone欄位可能存了很多個電話號碼,形式類似於
user_id phone
人1 1111,2222,3333,4444
如果是當一個人有多個號碼時被多行存儲,形式類似於
user_id phone
人1 1111
人1 2222
人1 3333
人1 4444
這兩種情況下的處理方法是不同的,第二種相對簡單,第一種就麻煩一些,要先通過邏輯處理將數據整理成第二種形式再做查找。
㈤ sql資料庫里用什麼類型的數據
整數數據類型是最常用的數據類型之一。 1、INT (INTEGER) INT (或INTEGER)數據類型存儲從-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之間的所有正負整數。每個INT 類型的數據按4 個位元組存儲,其中1 位表示整數值的正負號,其它31 位表示整數值的長度和大小。
㈥ SQL中,電話號碼應該用什麼數據類型
可以用字元形式!因為如果有區號那第一個數字可能是0,所以用字元形式
㈦ 資料庫表中電話號碼欄位用什麼屬性
推薦用varchar,char的長度是固定的,而varchar的長度是可以變化的, 比如,存儲字元串「abc",對於char(10),表示你存儲的字元將佔10個位元組(包括7個空字元),而同樣的varchar (10)則只佔用3個位元組的長度,10隻是最大值,當你存儲的字元小於10時,按實際長度存儲,如果數據量很大的話,可以節省很大的存儲空間
千萬不要用int這類的,因為電話號碼開頭的0是存不住的,造成數據丟失,那損失就大了。
㈧ 如何用SQL語言實現選出正確的電話號碼
Oracle資料庫操作
1,先選出正常11位號碼
select decode( sign(length(電話號碼)-11 ),0,電話號碼) from table1;
2,再選出5為號碼
select decode( sign(length(電話號碼)-5 ),0,電話號碼) from table1;
實際操作會有嚴格的約束,對於這種情況的避免,方式一在建表時通過約束來控制,將11位號碼和特殊號碼分開放兩張表裡。方式二是在前台通過JS腳本或其他驗證插入數據的合法性。這樣就避免你這種情況發生,所以你就別為此發愁了
㈨ sql中存儲固定電話和手機號選擇什麼樣的數據類型
如果是存儲一個中國的號碼,又經常查詢,那麼用char(12)
如果存多個,那麼用varchar(##),##你自己定長度。
㈩ sql 2000,要求限制電話號碼十一位,只能是數字~數據類型char(12),約束表達式怎麼寫
SQL Server 2000 沒有, 就拿個 SQL Server 2005 的來湊個數。
不大清楚 SQL Server 2000 裡面,有沒有 PATINDEX 函數了。
CREATE TABLE #temp(
test char(12)
CONSTRAINT chk_test
CHECK (
LEN(RTRIM(test)) = 11 AND
PATINDEX('%[^0-9]%', RTRIM(test)) = 0)
);
-- 失敗 長度不符合,且是英文
INSERT INTO #temp VALUES ('a');
-- 失敗 長度不符合
INSERT INTO #temp VALUES ('1');
-- 失敗 長度不符合
INSERT INTO #temp VALUES ('123456789012');
-- 失敗 長度符合 但是英文
INSERT INTO #temp VALUES ('1234567890a');
-- 成功
INSERT INTO #temp VALUES ('12345678901');