表1结构如下:
grade_id point
1 10-100
2 101-500
3 501-1000现在我想得到,如下的表2:grade_id point_start point_end
1 10 100
2 101 500
3 501 1000如何能实现?
grade_id point
1 10-100
2 101-500
3 501-1000现在我想得到,如下的表2:grade_id point_start point_end
1 10 100
2 101 500
3 501 1000如何能实现?
解决方案 »
- 新手问:怎么导入导出数据?(急!急!急)
- 数据库问题 在线等[]很急很急~~~~[]
- 创建存储过程中的一点疑问。。。。
- 求高手给出解决方案或SQL语句。
- 求个SQL语句
- 行拆分处理数据
- 紧急求救!我有一fox数据表文件,其中有一字段(memo类型),其中应该保存了一个图形,我不知道是什么格式,如何读出显示?解决了我大大加分!
- 数据库连接超时问题!高分求助。
- 怎样向已有的SQL Server库表增加某字段的默认值(用SQL语句)?
- 救命呀!!! 请问用ADO的Connection->Execute方法更新DB后, 怎样判断更新了多少数据
- sqlserver如何输出折行文本
- SQL中IF语句的条件有多个时,怎样进行连接各个条件,或者的情况下是用“or"还是“||”
left(point,charindex('-',point)-1) as point_start,
substring(point,charindex('-',point),len(point)-charindex('-',point)) as point_end
from 表1
drop table 表1
go
create table 表1(grade_id int,point varchar(20))
insert into 表1
select 1,'10-100'
union all select 2,'101-500'
union all select 3,'501-1000'select grade_id,
left(point,charindex('-',point)-1) as point_start,
substring(point,charindex('-',point)+1,len(point)-charindex('-',point)) as point_end
from 表1
/*
grade_id point_start point_end
----------- -------------------- --------------------
1 10 100
2 101 500
3 501 1000(所影响的行数为 3 行)
*/
point_end =right(point,Charindex('-',REVERSE(point))-1)
from 表