Ⅰ sql字段分割问题
你的是2个问题先回答第一个:
select (left(字段名,1)+left(right(字段名,8),4)) as 字段别名 from 表名
第二问题:
你可以另外再建一张表保存你查询过后的ID,在编程的时候,写个结构函数,在查询的时候not掉你保存ID表的ID,同时执行insert你这次的查询的ID到第二张表中。
Ⅱ SQL 切割字符串
问下你取日期,切割时间,为什么需要来计数啊?
select count(*) from table where substr(time,0,8) and aaa='aaa' order by time;
解释,截取time 字段 从第一位起截取8位,也就是只截取年月日,
效果
time
2011-01-02
2011-02-22
Ⅲ SQL server拆分字段的SQL语句
SQL语句中拆分字段:
一、语句实现的是将sql表中某个特定的字段按照字段内容中的标志拆分成多个字段。下面的实例是将classname字段中的内容以“->”为分隔符拆分为两个部分。
select
ID ,
ClassID = PARSENAME(replace(ClassName,'->' , '.'), 2) ,
StyleID = PARSENAME(replace(ClassName,'->' , '.'), 1)
from tb
二、拆分之前的表格式:
ID classname。
1、 吃嫩草->东湖二等分 。
2、 的年覅->从丁俊晖v刹。
3、 觉得->督促。
4 、和长度->陈代工厂 。
5、 督促vui->大合唱。
三、拆分后的表格式:
ID ClassID StyleID。
1 、吃嫩草 东湖二等分。
2 、的年覅 从丁俊晖v刹。
3 、觉得 督促。
4、和长度 陈代工厂。
5、 督促vui 大合唱。
四、同样的方法,如果要分成三个、四个或者更多的字段,只需要修改代码第三四行的代码,此方法仅限将某一字段内的内容按照同一个分隔符拆分。
Ⅳ sql 把一个字段分成多个字段
方法和详细的操作步骤如下:
1、第一步,新的PHP文件,见下图,转到下面的步骤。
Ⅳ sql 如何将一个字段拆分成单个字符(如图:)
可以用substring函数来处理:
select substring(StyleID,1,1) as StyleID_1,substring(StyleID,2,1) as StyleID_2,substring(StyleID,3,1) as StyleID_3,substring(StyleID,4,1) as StyleID_4,substring(StyleID,5,1) as StyleID_5 from 表
Ⅵ sql server将字段拆分:内容如下
drop table zz_test
create table zz_test (id varchar(200) ,nr varchar(405))
insert zz_test
select '内容:', '1、直肠高 2、急性 3、陈旧 4、高血 5、结肠 6、慢性'
select a.id ,
nr=substring(a.nr,b.number,charindex(' ',a.nr+' ',b.number)-b.number)
from zz_test a
join master..spt_values b on b.type='P'
where charindex(' ',' '+a.nr,b.number)=b.number
运行结果:
可以拆分的前提是你存储必须是有规律的,否则拆分不出来。比如这个:中间我用一个空格来隔开的。
Ⅶ sql 如何以逗号为分隔符分割一个字段的值
可用substring函数。
创建测试表及数据:
createtabletest
(idvarchar(10));
insertintotestvalues('123abc');
insertintotestvalues('456def');
insertintotestvalues('789ghi');
执行:
selectsubstring(id,1,3)+','+substring(id,4,3)asidfromtest
结果截图:
也就显示成了用逗号分隔的样子。
Ⅷ 在线急求一sql分割字段 存储过程
--首先建表
create table B
(
u_no int identity(1,1),
c_no varchar(20)
)
create table A
(
u_no int,
c_no varchar(20)
)
insert into B
select '1:3:5'
insert into B
select '4:9:6'
insert into B
select '8:2:5'
insert into B
select '2:6:7'
insert into B
select '3:5:9'
--其次建立切割字符串的函数
CREATE function [dbo].[SplitString]
(
@Input nvarchar(max),
@Separator nvarchar(max)=',',
@RemoveEmptyEntries bit=1
)
returns @TABLE table
(
[Id] int identity(1,1),
[Value] nvarchar(max)
)
as
begin
declare @Index int, @Entry nvarchar(max)
set @Index = charindex(@Separator,@Input)
while (@Index>0)
begin
set @Entry=ltrim(rtrim(substring(@Input, 1, @Index-1)))
if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry<>'')
begin
insert into @TABLE([Value]) Values(@Entry)
end
set @Input = substring(@Input, @Index+datalength(@Separator)/2, len(@Input))
set @Index = charindex(@Separator, @Input)
end
set @Entry=ltrim(rtrim(@Input))
if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry<>'')
begin
insert into @TABLE([Value]) Values(@Entry)
end
return
end
--最后建立存储过程
create proc test
as
begin
declare @u_no int ,@c_no varchar(20)
DECLARE cur_Hour1 CURSOR FOR
select * from B
OPEN cur_Hour1
FETCH NEXT FROM cur_Hour1 INTO @u_no,@c_no
WHILE (@@FETCH_STATUS=0)
BEGIN
insert into A
select @u_no,[Value] from [dbo].[SplitString](@c_no, ':', 1)
FETCH NEXT FROM cur_Hour1 INTO @u_no,@c_no
END
CLOSE cur_Hour1
DEALLOCATE cur_Hour1
end