SQL中自定义拆分为新表的函数

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

/*按照符号分割字符串*/

create function [dbo].[m_split](@c varchar(2000),@split varchar(2))  

  returns
@t table(col varchar(200))  

  as

    begin

      while(charindex(@split,@c)<>0)  

        begin

          insert
@t(col) values
(substring(@c,1,charindex(@split,@c)-1))  

            set
@c = stuff(@c,1,charindex(@split,@c),‘‘)

           -- SET @c = substring(@c,charindex(‘ ‘,@c)+1,len(@c))    

        end

      insert
@t(col) values
(@c)  

      return

end

 

select
* from dbo.m_split(‘1,2,3,4,5‘,‘,‘)

时间: 2024-10-24 01:49:24

SQL中自定义拆分为新表的函数的相关文章

第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数

第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all;  Select 列 into 新表;字符串函数;日期函数 SQL聚合函数 MAX(最大值).MIN(最小值).AVG(平均值).SUM(和).COUNT(数量:记录的条数) 聚合函数对null不计算.如果一行数据都是null,count(*)包含对空值行.重复行的统计. --聚合函数演示 selec

MySQL通过SQL语句来直接生成新表

1. 既复制表结构,也复制表数据 mysql> CREATE TABLE tmp_table SELECT * FROM dede_news; 说明:这种方法的缺点就是新表中没有了旧表的primary key.Extra(auto_increment)等属性, 只能自己手动添加. 2.只复制表结构,而不复制表数据 mysql> CREATE TABLE tmp_table like dede_news;

sql中如何 将一张表的数据 更新到另外一张表的字段中

今天操作数据库       有个需求需要从一张流水表中有用户付款金额    还有一张  是用户的结算金额    每个用户的付款和结算费率和手续费等都不一样   需要将剩余可以结算的金额查询出来  进行更新到各自对应的用户后面  花了几分钟写出来去测试了一下  没问题 万变不离其中   依然还是  在 update  +表(及其关联表) +set  +更改字段 +where 条件 update merchant m join ( select pc.cp_channel channelId,0.0

SQL中的每一张表都必须设有主键吗

主键的作用: 1)保证实体的完整性; 2)加快数据库的操作速度 3)在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复. 4) 数据库自动按主键值的顺序显示表中的记录.如果没有定义主键,则按输入记录的顺序显示表中的记录. 主键不是非要不可,可以从: 1.是否满足业务要求 2.数据查询效率(主键可以提高查询效率,当然合理的索引替代也可以) 这两个角度权衡是否需要主键. 这要看表的功能. 利用来存储大量数据,并需要经常查询的,建立主键可以加快查询效率从而降低服务器的

SpringBoot整合freemarker中自定义标签获取字典表的数据

因为在前端要根据字典表中的数据去将1.2这些值转换成对应的文字解释 1.首先要创建一个类去实现 TemplateDirectiveModel 类 @Component public class DictDirective implements TemplateDirectiveModel { @Override public void execute(Environment environment, Map map, TemplateModel[] templateModels, Templat

sql中的CHARINDEX和暂时表

update #temp set #temp.Recycle=case when UnionA.num>0 then 1 else 0 end from (select GradeID,sum(num)as num from AreaAllot where CHARINDEX(@Area,AreaAllot.Area)=1 and LEN(@Area)=LEN(Area)-2 group by GradeID)UnionA inner join #temp on UnionA.GradeID=#

mysql 复制表结构 / 从结果中导入数据到新表

这只会复制结构: mysql> create table a like mysql1; Query OK, 0 rows affected (0.03 sec) mysql> desc a; +----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+----------+------+-----+---------+----

sql中sum默认值为0的函数是COALESCE

SELECT COALESCE(SUM((price/priceper)*QtyRequired),0) as total_value, COALESCE(SUM((price/priceper)*QtyRequired),0) as outstanding_value FROM @Item i LEFT OUTER JOIN @OrderItem o ON i.Id = o.ItemId WHERE i.Id = @ItemIdTest group by itemId

VS2008 Qt Designer 中自定义信号槽

一.Qt Designer自定义槽函数 发现:在VS2008 +Qt4.7  中打开ui文件,所用的英文QT Designer工具,没有转到槽函数的功能,不如QtCreator自带的QtDesigner功能齐全,只能Editor已有的信号槽. 发现:在QtCreator中右击某个控件 有"转到槽"功能,就会在.h和.cpp文件中生成我们的自定义槽函数void on_openButton_clicked() 解决方法:在VS2008中,选择某个项目,选择菜单Qt/Creat basic