Sql Server
hezudao25
这个作者很懒,什么都没留下…
展开
-
sql server 多行数据合并一行显示
在STUFF函数中,第一个参数指定要插入的位置,第二个参数指定要从第一个参数指定的位置开始删除的字符数,第三个参数指定要插入的新值。在此查询中,使用 FOR XML PATH 将每个产品名称转换为逗号分隔的字符串,然后使用 STUFF 将第一个逗号删除并将所有产品名称合并成一个字符串。最后,使用 GROUP BY 在 order_id 列的基础上进行分组。在 SQL Server 中,可以使用 STUFF 和 FOR XML PATH 进行多行合并成一行。原创 2023-11-15 09:12:34 · 5178 阅读 · 0 评论 -
各数据库SQL查询结果多行数据合并成一行
listagg函数是在oracle11g后新增的,是一个实现字符串聚合的内建函数。也可以实现行转列的功能,将某个字段的多行数据合并成一条。示例,现在有一张风险表,每个风险项(risk_id)对应有多条规则(risk_rule),现在我要按照风险项把对应的规则都查询出来。wm_concat函数是是oracle中常用的函数,功能:行转列,可以将查询出的多行某列值使用逗号进行隔开拼接,成为一条数据。一、Oracle函数多行数据合并成一行。二、Mysql函数多行数据合并成一行。一、wm_concat。转载 2023-04-26 15:53:29 · 14252 阅读 · 0 评论 -
获取ms sql存储过程的名称和信息
SELECT sp.object_id AS FUNCTION_ID, sp.name AS FUNCTION_NAME, b.name + '.' + sp.name AS SFUNCTION_NAME, b.name AS SCHEMA_NAME, ISNULL(param.name, '') AS PARAM_NAME, ISNULL(usrt.name, '') AS [DATA_TYPE], sp.type AS TYPE,.原创 2021-02-20 16:00:53 · 254 阅读 · 0 评论 -
ASP.NET Core 监听SQL Server数据库的实时信息
1.开发环境:开发工具:Visual Studio 2019 数据库:SQL Server2012 开发环境:.Net Core 3.12.使用技术:Signalr:实现消息推送 SqlDependency:通过它的OnChangeEventHandler事件去监听数据库的波动【只针对SQL Serer】 Microsoft.EntityFrameworkCore:连接数据库3.业务逻辑(虽然最后没做成,但是这技术我还学会了)开发场景:客户需要每一个参加展会的人,签到时候,需要在展转载 2021-02-20 15:56:06 · 530 阅读 · 0 评论 -
SQL Server将一列的多行内容拼接成一行字符串
示例 stuff: for xml path 参考文章示例昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行,比如表中有两列数据 :类别 名称 AAA 企业1 AAA 企业2 AAA 企业3 BBB 企业4 BBB 企业5 我想把这个表变成如下格式:类别 名称 AAA 企业1,企业2,企业3 BBB 企业4,企业5 一转载 2020-11-06 10:11:57 · 5243 阅读 · 0 评论 -
SQL Server 行版本控制,with(nolock)
一 。什么时候可以使用WITH(NOLOCK)? 什么时候不能使用WITH(NOLOCK),这个要视你系统业务情况,综合考虑性能情况与业务要求来决定是否使用WITH(NOLOCK), 例如涉及到金融或会计成本之类的系统,出现脏读那是要产生严重问题的。关键业务系统也要慎重考虑。大体来说一般有下面一些场景可以使用WITH(NOLOCK) 1: 基础数据表,这些表的数据很少变更。 2:历史数据表,这些表的数据很少变更。 3:业务允许脏读情况出现涉及的表。 4:数据量超大的表,出于性...原创 2020-06-09 10:32:28 · 450 阅读 · 0 评论 -
SQL日期查询-SQL查询今天、昨天、7天内、30天,年
近期程序开发中,需要对时间进行比较,此时需要用到SQL的时间查询系列功能,综合整理资料如下:今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=17天内的所有数据:sel...转载 2018-10-23 16:36:59 · 1547 阅读 · 0 评论 -
SQLserver 更新统计
SQLSERVER数据库使用时间长了以后,经常会引起阻塞。这时需要更新统计,执行exec sp_updatestats;原创 2018-09-05 14:03:56 · 440 阅读 · 0 评论 -
sql server 导出表结构
网上找到一个脚本还不错,小小的修改就满足了我的要求,执行完SQL脚本。在结果就能看到数据库所有表的结构,这个时候只要全选,然后右击出来属性框,选择将结果另存为,这个时候您只要选择导出CSV,然后新建一个Excel表格,在菜单栏选择数据,再选择自文本,后面的大家可以自己的需求自行处理了。SELECT 表名 = Case When A.colorder=1 Then D.name...转载 2018-06-27 12:35:16 · 551 阅读 · 0 评论 -
sql-索引的作用(超详细)
(一)深入浅出理解索引结构实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然转载 2017-06-27 09:55:57 · 933 阅读 · 0 评论 -
服务器无法继续执行该事务,此会话中的活动事务已由另外一个会话提交或终止。
//执行事务处理public void DoTran(){ //建立连接并打开 SqlConnection myConn=GetConn(); myConn.Open(); SqlCommand myComm=new SqlCommand(); //SqlTransaction myTran=new SqlTransaction(); //注意,SqlTransaction类无公开原创 2017-07-04 11:16:02 · 4133 阅读 · 0 评论 -
SqlServer获取存储过程的返回值
1.OUPUT参数返回值CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @@I转载 2017-03-13 15:50:54 · 406 阅读 · 0 评论 -
Sql distinct和group by的区别
distinct和Group by 区别: distinct只是将重复的行从结果中出去; group by是按指定的列分组,一般这时在select中会用到聚合函数。 distinct是把不同的记录显示出来。 group by是在查询时先把纪录按照类别分出来再查询。 group by 必须在查询结果中包含一个聚集函数,而distinct不用。 聚合函数 :AVG原创 2017-03-02 09:50:31 · 5297 阅读 · 0 评论 -
SQL2008+ 根据子类ID来查找最大级父类ID
11111原创 2016-10-20 17:35:22 · 2327 阅读 · 0 评论 -
高效的SQLSERVER分页查询(推荐)
Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页(即第45001-45030条数据),字段ID聚集索引,YEAR无索引,Sqlserver版本:2008R2第一种方案、最简单、普通的方法:复制转载 2015-09-10 09:25:47 · 386 阅读 · 0 评论 -
SqlServer索引的原理与应用
索引的概念索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法。索引是什么:数据库中的索引类似于一本书的目录,在一本书中使用目录可以快速找到你想要的信息,而不需要读完全书。在数据库中,数据库程序使用索引可以重啊到表中的数据,而不必扫描整个表。书中的目录是一个字词以及各字词所在的页码列表,数据库中的索引是表中的值以及转载 2015-01-06 09:13:42 · 483 阅读 · 0 评论