select substring('山东:济南',1,charindex('山东:济南',':'))
解决方案 »
- 如何快捷的导出库对象的创建sql?
- 一个SQL存储过程记录集合循环的问题
- 一个比较棘手的sql脚本删除问题
- left跟charindex的问题.
- 关于1NF、2NF、3NF
- 数据库数据不能重复问题
- 存储过程出错,请教。
- 远程服务器系统问题(VB+SQL Server),加分!!!!(急求解)
- sql server 性能与安全
- sql server发邮件,已排队,但是sysmail_event_log表里没有产生进程启动记录,现在把windows日志和代理日志贴出来,大家帮忙看看,谢谢
- 请大家帮忙,这个SQL语句该怎么写?
- select (192*255*255*255)+(168*255*255)+(0*255)+42将 expression 转换为数据类型 int 时发生算术溢出错误。
select @a='山东:济南'
select 分号前字符串=left(@a,charindex(':',@a)-1),分号后字符串=substring(@a,charindex(':',@a)+1,len(@a))
returns @temp table(a varchar(100))
/*--实现split功能 的函数
--date :2005-4-20
--Author :Domino
*/
as
begin
declare @i int
set @SourceSql=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@SourceSql)
while @i>=1
begin
insert @temp values(left(@SourceSql,@i-1))
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
set @i=charindex(@StrSeprate,@SourceSql)
end
if @SourceSql<>'\'
insert @temp values(@SourceSql)
return
end
select top 1 from f_split('山东:济南',':')
set @str='山东:济南'
select left(@str,charindex(':',@str)-1)/*
--------------------
山东(1 row(s) affected)
*/
declare @tab table(name varchar(20))insert @tab values('山东:济南')
insert @tab values('可以:沁亿')select * from @tabselect substring(name,0,charindex(':',name)) from @tab
set @var = '山东:济南'select left(@var,charindex(':',@var)-1)--输出
/*
山东
*/
CREATE procedure CreateStatArea
(
@companyID Int,
@ipAddress NVarChar(100)
)
as
declare @area nvarchar(30)
set @area=(select substring(@ipAddress,1,charindex(@ipAddress,':')))
update StatArea set Number=Number+1 where companyID=@companyID and area=@area取出来是空的。
stuff
left
right
reverse
charindex
patindex
这几个函数均可以实现
declare @a varchar(100)
select @a='山东:济南'
select 分号前=stuff(@a,charindex(':',@a),len(@a),''),分号后=stuff(@a,1,charindex(':',@a),'')
山东(所影响的行数为 1 行)