Update TableName Set ColName = Stuff(ColName, 1, 1, '')
select substring(字段,2,len(字段) - 1) from tb
if object_id('pubs..tb') is not null drop table tb gocreate table tb ( 字段 varchar(10) )insert into tb(字段) values('08302') insert into tb(字段) values('08304') insert into tb(字段) values('08305') insert into tb(字段) values('08306')select substring(字段,2,len(字段) - 1) as 字段 from tbdrop table tb字段 ---------- 8302 8304 8305 8306(所影响的行数为 4 行)
或者if object_id('pubs..tb') is not null drop table tb gocreate table tb ( 字段 varchar(10) )insert into tb(字段) values('08302') insert into tb(字段) values('08304') insert into tb(字段) values('08305') insert into tb(字段) values('08306')select case when left(字段,1) = '0' then substring(字段,2,len(字段) - 1) else 字段 end as 字段 from tbdrop table tb 字段 ---------- 8302 8304 8305 8306(所影响的行数为 4 行)
Update TableName Set ColName = Stuff(ColName, 1, 1, '') where ColName like '0%'
update tablename set colname= substr(colname,2) 貌似
Update TableName Set ColName = Stuff(ColName, 1, 1, '') where left(ColName,1) ='0'Update TableName Set ColName = substring(ColName,2,len(ColName)-1) where left(ColName,1) ='0'
drop table tb
gocreate table tb
(
字段 varchar(10)
)insert into tb(字段) values('08302')
insert into tb(字段) values('08304')
insert into tb(字段) values('08305')
insert into tb(字段) values('08306')select substring(字段,2,len(字段) - 1) as 字段 from tbdrop table tb字段
----------
8302
8304
8305
8306(所影响的行数为 4 行)
drop table tb
gocreate table tb
(
字段 varchar(10)
)insert into tb(字段) values('08302')
insert into tb(字段) values('08304')
insert into tb(字段) values('08305')
insert into tb(字段) values('08306')select case when left(字段,1) = '0' then substring(字段,2,len(字段) - 1) else 字段 end as 字段 from tbdrop table tb
字段
----------
8302
8304
8305
8306(所影响的行数为 4 行)
where ColName like '0%'
会,第一位有可能不是0,所以不能这样写。用我后面写的那个.
08302
00abcd
0abc
0xxxxxx
。。
Where Left(ColName, 1) = '0'
不是查询,我要updata
-------
那就是這個Update TableName Set ColName = Stuff(ColName, 1, 1, '')
Where Left(ColName, 1) = '0'
语法语法SUBSTRING ( expression ,start , length )参数参数expression 是字符串、二进制字符串、文本、图像、列或包含列的表达式。不要使用包含聚合函数的表达式。start 指定子字符串开始位置的整数。start 可以为 bigint 类型。length 一个正整数,指定要返回的 expression 的字符数或字节数。如果 length 为负,则会返回错误。length 可以是 bigint 类型。
注意:
因为 start 和 length 指定了字节数,所以对具有 DBCS 排序规则的 text 数据类型(如日本汉字)使用 SUBSTRING 时,可能会在结果的开始或结束位置导致字符拆分。此行为与 READTEXT 处理 DBCS 的方式一致。因此,我们建议您针对 DBCS 字符使用 ntext 而不是 text。我们建议的另一种备用方法是使用 varchar(max) 数据类型,因为它不会拆分 DBCS 排序规则的字符。备注备注必须以字符数指定使用 ntext、char 或 varchar 数据类型的偏移量(start 和 length)。必须以字节数指定使用 text、image、binary 或 varbinary 等数据类型的偏移量。
注意:
兼容级别可能影响返回值。有关兼容级别的详细信息,请参阅 sp_dbcmptlevel (Transact-SQL)。返回类型返回类型如果 expression 是受支持的字符数据类型,则返回字符数据。如果 expression 是受支持的 binary 数据类型,则返回二进制数据。返回的字符串类型与指定表达式的类型相同(表中显示的除外)。
substring 函数返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的子字符串。string substring(string, number, number?)备注备注该字符串中的每个字符都被认为具有数字位置:第一个字符的位置是 1,第二个字符的位置是 2,依此类推。如果未指定第三个参数,将返回从第二个参数指定的位置开始直到字符串结尾的子字符串。如果参数不是字符串类型,将先使用 string() 函数转换为字符串,然后计算该转换的结果。
警告作为参数传递给此函数的节点集的字符串转换可能会产生意外的结果。有关更多信息,请参见 string 函数。此函数区分大小写。
示例示例以下函数调用返回“234”:substring("12345",2,3)以下函数调用返回“2345”:substring("12345",2)返回的子字符串包含如下字符:字符位置大于或等于第二个参数的舍入值,且如果指定了第三个参数,小于第二个和第三个参数的舍入值之和。上面使用的比较和加法遵循 IEEE 754 标准规则;如同调用 round() 函数一样进行舍入。下列示例阐释异常情况。substring("12345", 1.5, 2.6) 返回“234”substring("12345", 0, 3) 返回“12”substring("12345", 0 div 0, 3) 返回 ""substring("12345", 1, 0 div 0) 返回 ""substring("12345", -42, 1 div 0) 返回 "12345"substring("12345", -1 div 0, 1 div 0) 返回 ""该示例演示前一个 substring() 表达式。
这个是C#的语法
返回类型返回类型如果 character_expression 是受支持的字符数据类型,则返回字符数据。如果 character_expression 是一个受支持的 binary 数据类型,则返回二进制数据。
示例示例以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串。SELECT STUFF('abcdef', 2, 3, 'ijklmn')
GO下面是结果集: ---------
aijklmnef (1 row(s) affected)
貌似
where left(ColName,1) ='0'Update TableName Set ColName = substring(ColName,2,len(ColName)-1)
where left(ColName,1) ='0'