當前位置:首頁 » 編程語言 » sql切割欄位工具
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql切割欄位工具

發布時間: 2022-09-13 07:49:08

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