當前位置:首頁 » 編程語言 » sql中電話
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql中電話

發布時間: 2022-02-14 15:25:21

sql 電話 check 約束

use
ebook
create
table
testcheck
(
time1
datetime
,
time2
datetime
,
constraint
time1_time1
check(datediff(day,[time1],[time2])
>
0)
)
這樣就可以了,讓time2>time1.這個相當於access中的記錄級有效性驗證.但是奇怪,sqlserver中從沒提出過欄位級約束和記錄級約束之類的概念,但它的作用和欄位級有效性規則及記錄級有效性規則類似。
如果你說的兩個時間來自不同的表,那隻有用觸發器來制度約束了

⑵ SQL中,電話號碼應該用什麼數據類型

可以用字元形式!因為如果有區號那第一個數字可能是0,所以用字元形式

⑶ 在sql中如何實現電話號碼中間的4位數字轉換成特殊字元

不同的資料庫做法不同
replace就是替換,雖然是字元的替換,不過你的特殊字元應該不是數字吧,所以你的號碼應該存成字元型,不然假設你的替換字元是xxxx,可是這個可是沒辦法插入數字格式的。
你說的中間四位怎麼定義,是類似xxx xxxx xxxx種種,還是XX YYYY xx這種,如果是前面那種那就用定位比如substr,不知道你是什麼資料庫,只能用oracle的方式寫,可以根據自己資料庫自行查找相應函數
比如,replace(字元串,substr(字元串,4,4),'XXXX')

這樣的話,假設源字元串為001 1101 1100,那麼就會變為001 xxxx 1100
當然,這個語句本身是有問題的,如果剛巧你的號碼比較特殊,比如001 0101 0101,那麼可能就變成了0XXXX XXXX 01,或者001 1001 1001 那麼就是001 XXXX XXXX
那麼怎麼只更換中間四位,其他位置有特殊的也不動呢?

有兩個辦法
(1)分開顯示人然後合並,比如 selelct substr(字元串,1,3)||『XXXX』|| substr(字元串,-1,4) (本寫法是oracle的,其他資料庫的連接符號各有不同,情自行查找)
(2)replace全部替換,其實合作前面的差不多,比如replace(字元串,substr(字元串,1), substr(字元串,1,3)||『XXXX』|| substr(字元串,-1,4))

⑷ sql中存儲固定電話和手機號選擇什麼樣的數據類型

如果是存儲一個中國的號碼,又經常查詢,那麼用char(12)
如果存多個,那麼用varchar(##),##你自己定長度。

⑸ SQL SERVER創建表時怎樣表示電話號碼

varchar類型就可以了,長度的話定義到20就可以了,另外就是看是手機號碼還是固話號碼了,可以設置成兩列,就是一個是手機,一個是固話。都是varchar類型就可以了。因為有的是兩種電話聯系方式都有

⑹ SQL中查詢手機號的開始三位數如何寫

就是二樓+三樓這幾種寫法,當然還能寫出別的,但是那都沒有什麼意義了!

⑺ sql server 中處理電話號碼

update tablename set dhhm1=substring(dhhm,1,charindex('/',dhhm)-1),dhhm2=substring(dhhm,charindex('/',dhhm)+1,len(dhhm))

採納哦

⑻ SQL中查詢各職員電話號碼所在區號以及具體的電話號碼

用substring函數
用法如:substring('abcdefg',3,1)就得到d,指從abcdefg中的第三個後開始提取一位
最後的1可以省略,省略就是提取其後的全部字元

⑼ 如何用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如何更新電話號碼

CONCAT函數
concat('010-','0127874')