❶ 怎樣將sql查出的欄位分成兩列解決辦法
select substr(欄位名稱,1,x),substr(欄位名稱,x+1) from 表名;
其中X代表你要截取的該欄位要設置為第一列的長度。
例如:
select substr(empno,1,2)第一列,substr(empno,3)第二列 from emp;
這樣查詢出來顯示的就把 empno 欄位分為了2列。
❷ sql查詢中,如何將某列 分成 兩列。
SELECT PAccM33g02,
CASE PAccM33g02
WHEN 0 THEN PAccM33g02 END PAccM33g02_J,
CASE PAccM33g02
WHEN 1 THEN PAccM33g02 END PAccM33g02_C
FROM PAccM3307
❸ sql中如何把查出的兩行變為兩列
行轉列問題,鍵游已搭亮陸學生,課程,成績 表為例
表student(name,course,score)
declare @sql varchar(8000)
begin
set @sql = 'select name as 姓名'
select @sql = @sql + ',SUM(case when course='知頃'' + [course] + ''' then score end) as '+ course + ''
from Student group by name
set @sql = @sql + ',sum(score) as 總分 from student group by name'
end
exec(@sql)
❹ sql如何將一張表中的一列數據分為兩列顯示
目前找到一個辦法。
select id,max(money),sum(money)-max(money)
from tt
group by id
❺ 各位老師:如何在sql中把下列字元串里的內容把表裡面的內容按照「:」分成兩列。
假設你滑賀的表名為test_table,列名為 key_value,現在要以冒號分敬脊割' : '
select SUBSTRING_INDEX(key_value,"亮讓滲:",1) as key, SUBSTRING_INDEX(key_value,":",-1) as value from test_table
❻ 關於mysql資料庫將一列分成兩列的方法
可用substring函數。
如某個表中只有一個欄位:
ID
123abc
456def
890ghi
現在要將前三位為一個字液寬段,起名為id1,後3位是另一個欄位,起名叫id2。可用如下語句:
selectsubstring(id,1,3)id1,substring(id,4,3)id2from表名
結果如下:
id1 id2
123 abd
456 def
890 ghi
substring函數說明,一共需要3個參數,其中,第一個參數為要截取的字元串,第二個磨掘參數為截取的起始位置,第三個參數為截取瞎埋核的長度。
❼ sql,2005里,如何將查詢的結果分兩列顯示.
這個比較簡單吧
先做一個子查詢,把你需要的數據查出來,另外再新加一個欄位,比如想第一列顯示的固定為1,第二列的固定為2
然後在外面再套一層,case when xx=1 then 查詢出來的欄位 else '' end as 第一列
同樣的方法就得到第二列了。
最後,再根據你想要的鍵值 group by 一下
❽ sql,2005里,如何將查詢的結果分兩列顯示.
這個比較簡單吧
先做一個子查詢,把你需要的數據查出來,另外再新加一個欄位,比如想第一列顯示的固定為1,第二列的固定為2
然後在外面再套一層,case
when
xx=1
then
查詢出來的欄位
else
''
end
as
第一列
同樣的方法就得到第二列了。
最後,再根據你想要的鍵值
group
by
一下
❾ SQL語句拆分表中內容,並變成兩列
USEtempdb
GO
ALTERFUNCTIONDBO.SPLT
(@COLNVARCHAR(200),
@PRANVARCHAR(10)
)
RETURNSNVARCHAR(100)
AS
BEGIN
DECLARE@NUMNVARCHAR(100),@STRNVARCHAR(100),@IINT
SET@NUM=''
SET@STR=''
SET@I=1
WHILE(@I<=LEN(ISNULL(@COL,'')))
BEGIN
IFSUBSTRING(@COL,@I,1)IN('0','1','2','3','4','5','6','7','8','9')--說明是數字
SET@NUM=@NUM+SUBSTRING(@COL,@I,1)
ELSE
SET@STR=@STR+SUBSTRING(@COL,@I,1)
SET@I=@I+1
END
IF@PRA='STR'
SET@NUM=@STR
RETURN@NUM
END
GO
SELECTdbo.SPLT('A123,B23,BD21','STR'),dbo.SPLT('A123,B23,BD21','')
❿ 懸賞,請教sql高手一個問題,高手進,如何把以下的一列數據轉換成兩列
--創建函數
createFUNCTIONdbo.Ufn_StringSplit
(@sasvarchar(2000))RETURNSint
AS
BEGIN
declare@rasint,@CHARINDEXasint
set@r=0
declare@ias消毀int
set@i=0
while@i<10
begin
set@CHARINDEX=CHARINDEX(cast(@iasvarchar(1)),@s)
if@CHARINDEX<>0
begin
if@CHARINDEX<@ror@r=0
set@r=@CHARINDEX
end
set@i=@i+1
end
return@r
END
GO
--創建測試數據
select*into#from(
select'0101010001'a,nullb,'0101010001'cunionall
select'IPY88866038','IPY','88866038'unionall
select'IPY-HCAA200038401','IPY-HCAA','200038401'unionall
select'DAA05007220600T','DAA','05007220600')aa
--執行查詢
select
a
,casewhenposition=1thennullelseleft(a,position-1)局坦endas轉換列1
,right(a,len(a)-position+1)as轉換後桐橋桐列2
from
(selecta,dbo.Ufn_StringSplit(a)aspositionfrom#)asabcd
--刪除臨時數據
droptable#
dropFUNCTIONdbo.Ufn_StringSplit
在SQL2014中測試通過
如圖: