⑴ 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')