sql欄位轉換
『壹』 sql語句 把一個表中的欄位值變為欄位 在線等~~~
SELECT 姓名,
MAX(CASE WHEN 科目 = '語文' THEN 分數 ELSE 0 END) AS 語文,
MAX(CASE WHEN 科目 = '數學' THEN 分數 ELSE 0 END) AS 數學,
MAX(CASE WHEN 科目 = '英語' THEN 分數 ELSE 0 END) AS 英語
FROM 表一
GROUP BY 姓名
『貳』 SQL 資料庫 將一個欄位轉化為多個欄位
好多欄位啊……不建議你這么整成256個欄位,但還是提供給你個方法
--假設你的源表叫TBSource(Socket),向目標表test中插
--產生目標表test
declare
@i
int,@sql
varchar(8000)
select
@i=1,@sql=''
while
@i<=10
begin
set
@sql=@sql+'co'+cast(@i
as
varchar(10))+'
int,'
set
@i=@i+1
end
select
@sql='create
table
test('+
substring
(@sql,1,len(@sql)-1)+')'
--從源表向目標表差
declare
@s
varchar(8000)
set
@s=''
select
@s='select
'+Socket
from
TBSource
where
.....--這里先只插入一行,具體咋插視情況而定
set
@sql='insert
into
test
'+@s
exec(@sql)
『叄』 sql 欄位轉換
select sum(欄位1* cast('0'+欄位2 as DEC(9,2))) from table
『肆』 sql查詢欄位轉換問題
以前我遇到過這樣的問題,下面是我的思路:
SELECTID,C
FROM(WITHTAS(SELECT1001ID,'a,b,c,d,e,f,g'CFROMDUAL)
SELECTID,
SUBSTR(T.CA,
INSTR(T.CA,',',1,C.LV)+1,
INSTR(T.CA,',',1,C.LV+1)-
(INSTR(T.CA,',',1,C.LV)+1))ASC
FROM(SELECTID,
','||C||','ASCA,
LENGTH(C||',')-NVL(LENGTH(REPLACE(C,',')),0)ASCNT
FROMT)T,
(<=100)C
WHEREC.LV<=T.CNT)
ORDERBYID;
你的改寫為
SELECTC
FROM(WITHTAS(SELECTusersCFROMtable1)
SELECTSUBSTR(T.CA,
INSTR(T.CA,',',1,C.LV)+1,
INSTR(T.CA,',',1,C.LV+1)-
(INSTR(T.CA,',',1,C.LV)+1))ASC
FROM(SELECT','||C||','ASCA,
LENGTH(C||',')-NVL(LENGTH(REPLACE(C,',')),0)ASCNT
FROMT)T,
(<=100)C
WHEREC.LV<=T.CNT);
希望對你有幫助,謝謝
『伍』 sql怎麼將一個欄位轉換成一個變數
select @zian1,@zian2 from table1 where @zian1=@1
『陸』 sql資料庫中欄位轉換問題:
update 表的名字
set 某欄位=substring(某欄位,1,PATINDEX('%[0-9]%',某欄位)-1)+cast(cast(substring(某欄位,PATINDEX('%[0-9]%',某欄位),LEN(某欄位)) as int)+1 as varchar)
where ……(指定修改某行數據)
『柒』 用sql語言將某一個欄位全部轉換為數字
這種字元需要修改為數字,你需要貼更多的數據出來,以方便找規律,不然別人即使給你代碼,也不一定適應你的所有數據處理
『捌』 在sql server2000中,如何把整型欄位轉換成字元串型欄位
使用函數STR()
STR
由數字數據轉換來的字元數據。
語法
STR ( float_expression [ , length [ , decimal ] ] )
參數
float_expression
是帶小數點的近似數字 (float) 數據類型的表達式。不要在 STR 函數中將函數或子查詢用作 float_expression。
length
是總長度,包括小數點、符號、數字或空格。默認值為 10。
decimal
是小數點右邊的位數。
返回類型
char
注釋
如果為 STR 提供 length 和 decimal 參數值,則這些值應該是正數。在默認情況下或者小數參數為 0 時,數字四捨五入為整數。指定長度應該大於或等於小數點前面的數字加上數字元號(若有)的長度。短的 float_expression 在指定長度內右對齊,長的 float_expression 則截斷為指定的小數位數。例如,STR(12,10) 輸出的結果是 12,在結果集內右對齊。而 STR(1223, 2) 則將結果集截斷為 **。可以嵌套字元串函數。
說明 若要轉換為 Unicode 數據,請在 CONVERT 或 CAST 轉換函數內使用 STR。
示例
A. 使用 STR
下例將包含五個數字和一個小數點的表達式轉換為有六個位置的字元串。數字的小數部分四捨五入為一個小數位。
SELECT STR(123.45, 6, 1)
GO
下面是結果集:
------
123.5
(1 row(s) affected)
當表達式超出指定長度時,字元串為指定長度返回 **。
SELECT STR(123.45, 2, 2)
GO
下面是結果集:
--
**
(1 row(s) affected)
即使數字數據嵌套在 STR內,結果集也是帶指定格式的字元數據。
SELECT STR (FLOOR (123.45), 8, 3)
GO
下面是結果集:
--------
123.000
(1 row(s) affected)
『玖』 在SQL語句里怎麼轉換數據類型
ALTER TABLE 表名 ALTER COLUMN 列名 新的數據類型[(長度)] NULL或NOT NULL
例:ALTER TABLE 教師 ALTER COLUMN 辦公室 CHAR(20) NOT NULL default "辦公室"
把寫好的句子放到執行其他sql語句的地方比如EXEcute(sql)這樣的地方,執行一次就行,然後改回來。
『拾』 【SQL】怎麼用語句轉換欄位值
您好!
樓上的都寫復雜了,也不嫌麻煩;
直接這樣寫:
array2=array2&ann(i)&","
end if
next
transcode=array2
end function
response.Write(transcode("11011100011111110001","蘋果|桔子|梨|香蕉|菠蘿|西紅柿|獼猴桃|檸檬|龍果|桂圓|西瓜|橄欖|荔枝|火龍果|葡萄|楊桃|哈密瓜|櫻桃|桃|番石榴"))