sql中部分字符怎么转成数值加1? 比如有的字符型字段,存了个值内容: '11-15' ,怎么让前面的数值加1,让他显示成 '12-15'呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 declare @str varchar(10) set @str='11-15' select rtrim(cast(Parsename(replace(@str,'-','.'),2) as int)+1)+'-'+Parsename(replace(@str,'-','.'),1)-------------12-15(1 行受影响) 如果固定是左边2位,这样能短点:declare @s varchar(10)set @s='11-15'select ltrim(left(@s,2)+1)+right(@s,len(@s)-2)/*12-15*/ declare @s varchar(10)set @s='111-15'select ltrim(left(@s,charindex('-',@s)-1)+1)+right(@s,len(@s)-(charindex('-',@s)-1))/*112-15*/ 如果是数字长度固定是2位的,可以使用上面简单的写法,如果长度不固定,那就简单不了了:select cast(left('11-15',charindex('-','11-15')-1)+1 as varchar) + right('11-15',len('11-15')-charindex('-','11-15')+1) --不能再短了declare @str varchar(10) set @str='11-15' select rtrim(Parsename(replace(@str,'-','.'),2)+1)+'-'+Parsename(replace(@str,'-','.'),1) SCOM 体系结构中的哪台服务器拥有数据仓库? 求一条语句啊 帮忙看看 happyflystone,今天测试出来有问题。 这段代码查出来的值怎么不对?哪里错? 有没有谁遇过这样的问题,数据库复制问题?(不能完全一样) 请问这样如何实现?在线 SQL的机密问题 如何查询第100名的分数 如何用SQL语句选择日期是在当前星期内的纪录? 拨号上网连接SQL-Server 数据库插入语句的一点小问题 SQL 2005 的表往ORACLE 10G的表导数据
declare @str varchar(10)
set @str='11-15'
select rtrim(cast(Parsename(replace(@str,'-','.'),2) as int)+1)+'-'+Parsename(replace(@str,'-','.'),1)
-------------
12-15(1 行受影响)
declare @s varchar(10)
set @s='11-15'
select ltrim(left(@s,2)+1)+right(@s,len(@s)-2)
/*
12-15
*/
declare @s varchar(10)
set @s='111-15'
select ltrim(left(@s,charindex('-',@s)-1)+1)+right(@s,len(@s)-(charindex('-',@s)-1))
/*
112-15
*/
如果是数字长度固定是2位的,可以使用上面简单的写法,如果长度不固定,那就简单不了了:select cast(left('11-15',charindex('-','11-15')-1)+1 as varchar) +
right('11-15',len('11-15')-charindex('-','11-15')+1)
--不能再短了
declare @str varchar(10)
set @str='11-15'
select rtrim(Parsename(replace(@str,'-','.'),2)+1)+'-'+Parsename(replace(@str,'-','.'),1)