① sql表中如何從一個備注欄位中把信息查詢出來分開顯示:
select SUBSTRING(convert(nvarchar(max),[備注]),0,dbo.f_firstposition(convert(nvarchar(max),[備注]),'-',1)) as [學號],
SUBSTRING(convert(nvarchar(max),[備注]),dbo.f_firstposition(convert(nvarchar(max),[備注]),'-',1)+1,dbo.f_firstposition(convert(nvarchar(max),[備注]),'-',2)-dbo.f_firstposition(convert(nvarchar(max),[備注]),'-',1)-1) as [姓名],
SUBSTRING(convert(nvarchar(max),[備注]),dbo.f_firstposition(convert(nvarchar(max),[備注]),'-',2)+1,dbo.f_firstposition(convert(nvarchar(max),[備注]),'-',2)) as [愛好]
from 表名
計算字元位置函數:
create function [dbo].[f_firstposition](@Str varchar(8000),@StrSep varchar(10),@AppPos int)
returns int
begin
declare @i int
declare @ii int
set @Str=rtrim(ltrim(@Str))
set @i=1
select @ii=charindex(@StrSep,@Str)
if @i=@AppPos
return @ii
else
while @AppPos>@i
begin
if charindex(@StrSep,right(@Str,len(@Str)-@ii))<>0
select @ii=charindex(@StrSep,right(@Str,len(@Str)-@ii))+@ii
else
set @ii=0
set @i=@i+1
end
return @iiend
② sql 一個表的一個欄位,怎麼拆分成幾個欄位
iphacker大哥,估計你理解了我的意思,其他的回答謝謝了,我的問題的表格發問後亂了,影響了你們的理解
問題如下(根據左表,統計得到右表):
ID---考勤---------------------------ID---早退---遲到---缺勤
1----早退----------------------------1--- 1 -----1-------0
1----遲到--左邊的表怎麼用查詢---2----0------1-------0
2----遲到--或存儲過程等得到-----3----2------0-------1
3----早退--右邊的查詢結果-->
3----早退
3----缺勤
③ SQL如何查詢兩個表連接明細表結果用分隔符分開
'''
CREATE TABLE T_Students
(
ID varchar(50),
F_Name varchar(50)
)
CREATE TABLE T_Subjects
(
Student_ID varchar(50),
Subject_ID varchar(50),
F_SubjectName varchar(50)
)
insert T_Students values ('01','A')
insert T_Subjects values ('01','1','語文')
insert T_Subjects values ('01','2','數學')
insert T_Students values ('02','B')
insert T_Subjects values ('02','1','語文')
insert T_Subjects values ('02','2','數學')
select a.ID,a.F_Name,stuff((select ','+Subject_ID from T_Subjects
where Student_ID=a.ID for xml path('')),1,1,'') as SubjectID,stuff((select ','+F_SubjectName from T_Subjects
where Student_ID=a.ID for xml path('')),1,1,'') as SubjectName
from T_STudents as a group by ID,F_Name
'''
請點擊輸入圖片描
④ SQL如何進行表的拆分
1.復製表結構及數據到新表
create table 新表 select * from 舊表 where ...
2.只復製表結構到新表
create table 新表 select * from 舊表 where 1=2 (即:讓where條件不成立)
3.復制舊表的數據到新表(假設兩個表結構一樣)
insert into 新表 select * from 舊表
4.復制舊表的數據到新表(假設兩個表結構不一樣)
insert into 新表(欄位1,欄位2,.......) select 欄位1,欄位2,...... from 舊表.
⑤ SQL表中怎麼把表欄位值拆分成兩半呢
select right('00000'+left(col,patindex('%[^0-9]%',col)-1),5)col1,right(col,len(col)-patindex('%[^0-9]%',col)+1)col2 from tb
⑥ 在my sql中怎麼將數據表分區
可以看mysql的data文件夾下面的資料庫文件,就可以查看當前分區情況。
還有幾種獲取MySQL分區表信息的常用方法
SHOW CREATE TABLE
可以查看創建分區表的CREATE語句
SHOW TABLE STATUS
可以查看錶是否為分區表
查看INFORMATION_SCHEMA.PARTITIONS表
可以查看錶具有哪幾個分區、分區的方法、分區中數據的記錄數等重要信息
⑦ 怎麼把SQL中的一個表分成2個表。並且這兩個表有自己的名字
select*into學生1from學生表where學院='學院名稱1'
select*into學生2from學生表where學院='學院名稱2'
⑧ 如何將表從SQL資料庫中分離
什麼資料庫之間都可以導出、導入,使用文本文件作為中間過程,比如你現在的需求,在sql2000裡面選擇導出資料庫,格式可以選擇文本格式,然後在access裡面導入文本文件。