固话都是7位的吗?有没有是区号+固话的?
解决方案 »
- 有效表达式包括常量、常量表达式和变量(在某些上下文中)。不允许使用列名。
- 请问这样select 变量 = 变量 from 如何查询
- 求一条Update或Insert的SQL 谢谢
- SQL每日时间段的问题
- 一直困惑我很久的问题
- 怎么在一个sql中实现几个子查询?
- 在线等待,急用!powerbuilder 8.0 连接sql server 7.9 数据库远程ip的问题
- 怎样可以在SQL2000恢复SQL6.5备份的数据
- 如何實現最有效率的數據更新同步多用戶??
- %%%%%%%%%%%%%%%%%%求一段简单得SQL语句%%%%%%%%%%%%%%%%%%
- 存储过程中如何按变量值建表(create table)
- 为什么出现这种情况
go
create function uf_splitstring
(
@str varchar(8000) --要分拆的字符串
,@spli varchar(10) --字符串分隔符
)
returns varchar(8000)
as
begin
declare @rets varchar(8000)
set @rets=''
declare @retab table(istr varchar(8000))
declare @i int
declare @splen int
select @splen=len(@spli),@i=charindex(@spli,@str)
while @i > 0
begin
insert into @retab
values(case when len(left(@str,@i-1))=7 then '6'+left(@str,@i-1) else left(@str,@i-1) end)
select @str=substring(@str,@i+@splen,8000)
select @i=charindex(@spli,@str)
end
if @str<>'' insert into @retab values(case when len(@str)=7 then '6'+@str else @str end)
select @rets=@rets+','+istr from @retab
set @rets=stuff(@rets,1,1,'')
return @rets
end
go
drop table A
go
create table A(F_Name varchar(10),F_phone varchar(2000))
insert into A
select 'aaa','8654521,1395899651'
union all select 'bbb','8654521,8569854'
union all select 'ccc','8659874'select F_Name,dbo.uf_splitstring(F_phone,',') as F_phone from A
/*
F_Name F_phone
---------- -----------------------
aaa 68654521,1395899651
bbb 68654521,68569854
ccc 68659874(所影响的行数为 3 行)
*/