SQLServer使用两个单引号之间的部分,来表示一个字符串,select * from ADO where z1 '2015/2/12 11:00:57',这个语句z1是datetime类型的,数据库引擎将单引号之间的部分(也就是2015/2/12 11:00:57这个部分),先隐式转换为datetime类型,然后再跟z1进行比较运算,你写的这个语句完全等价于select * from ADO where z1 CONVERT(datetime,'2015/2/12 11:00:57')
成都创新互联于2013年开始,先为资源等服务建站,资源等地企业,进行企业商务咨询服务。为资源企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
这个转义的办法有点不好理解,就是用单引号转义单引号,比如''(这是两个单引号),不过很多时候是'''(三个单引号
一起写
),不过不要怕麻烦,最多我见过一次写了五个单引号的
如果确定单引号是在第一个字符的话,可以用三种方法实现:
1、right截取字符串函数配合len函数:
1
2
update 表 set 登记薄编号=right(登记薄编号,len(登记薄编号)-1) where left(登记薄编号,1)=''''
update 表 set 身份证号=right(身份证号,len(身份证号)-1) where left(身份证号,1)=''''
2、substring截取字符串函数:
1
2
update 表 set 登记薄编号=substring(登记薄编号,2,100) where left(登记薄编号,1)=''''
update 表 set 身份证号=right(身份证号,2,100) where left(身份证号,1)=''''
3、replace替换字符子串函数:
1
2
update 表 set 登记薄编号=replace(登记薄编号,'''','')
update 表 set 身份证号=replace(身份证号,'''','')