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","苹果|桔子|梨|香蕉|菠萝|西红柿|猕猴桃|柠檬|龙果|桂圆|西瓜|橄榄|荔枝|火龙果|葡萄|杨桃|哈密瓜|樱桃|桃|番石榴"))