如果ID和内容是以空格分隔的,那么就这么写
select
left(m_content,charindex('
',m_content)-1)
as
ID,stuff(m_content,1,charindex('
',m_content),'')
as
content
from
表
当然,如果记录中有不完全按照id+空格+内容这样的,语句可能会有问题。
“向substring函数传递了无效的length参数”正是因为m_content中包含不符合"id+空格+内容"的数据
你可以用
select
from
表
where
m_content
not
like
'%
%'
or
m_content
is
null
来找出这样的行。
另外我给你的语句是让你做参考的,你首先知道用到的函数是什么意思才可以。
呵呵,这个还不好办么,你写的语句类似这个吧 我用C++语法给你写吧,希望能给你点提示
int a;
a=x_id%9
CString tbl_name
tbl_name="A_"+a;
CString Sql;
Sql="select from" + tblname;
只有这两种情况吗 你可以从后面截取判断啊
截后六位 判断 是人民币 还是 万美元不就好了吗
截完之后 就可以分别截取判断了啊
举个栗子:
jiequreneirong=substr(column,1,length(column)-6)
case when jiequneirong='人民币' then substr(column,1,length(column)-6) end as num
, case when jiequneirong='人民币' then substr(column,length(column)-6,6) end as type
我只是给个思路哈
其实不需要拆分表,分区就可以,还是原来的表名,只是将原来的表分成了若干的分区,这样能起到分表的效果,还不用分成很多的表。
比如你原来的表的名字是A,那么将该表改为A1,然后从新建立一个分区表A,分区的依据是班级,也就是list分区,也就是一般意义上的列表分区表。
然后再将A1的数据插入新A表就可以了。
至于分区表的建立方式,往上很多,可以自行查找。
这样 *** 作查询的语句不需要变,只是在不跨分区查询的情况下,相当于分成了若干张表去查询。比如查询1班的成绩,那么就是在1班的分区内,不会有2班的问题,就相当于你用一个指头就能解决问题,不会动用这个手一样。
如果分表的话,那么假设有12个班,那么就要建立12张表,这样的话,语句就要写12次,冗余太大了。
对于表的数据量在百万上的使用delete from table_name 时候,会很慢很慢,难以接受。而且delete删除多张表数据时更难以接受。找了下方法,发现非常的快。步骤如下:
>
实现思路:首先oracle数据库中的插入数据可以用insert语句,之后即可通过java方式进行插入,如:
String userinfo="insert into userinfo VALUES("+"'"+userD+"',sysdate"+")";
//之后执行插库 *** 作。
备注,实际在数据库中插入语句如下
sql:insert into userinfo values('123',sysdate);
以上就是关于SQL server拆分字段的SQL语句全部的内容,包括:SQL server拆分字段的SQL语句、mysql数据库一表拆分多表、在数据库的表中写一个sql把已有字段对应的值 拆分为多个字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)