SQL Server
还有远方和田野
90后程序员,斜杆青年
展开
-
sqlserver 获取根据特定符号分割字符串
简单的用个标量函数处理就好了。原创 2023-07-18 12:01:21 · 1526 阅读 · 0 评论 -
查看阻塞的SQL语句
sys.dm_exec_session_wait_stats:该视图返回会话的等待信息。和sys.dm_os_session_wait_stats 视图返回的信息类似。并且在sys.dm_os_session_wait_stats视图的官方文档页面可以查询到等待类型的具体信息。sys.dm_exec_query_profiles: 该视图监视sql运行的实时进度。区别是执行计划是预估的,这个视图展示的真实的情况。sys.dm_exec_sql_text:该函数返回sql_handl标识的sql语句。原创 2023-07-13 14:34:13 · 461 阅读 · 0 评论 -
sqlserver关于时间的一些处理
2,dateAdd 添加时间 DATEADD(datepart,number,date)3,datePart (DATEPART )返回代表指定日期的指定日期部分的整数。先记录到这里吧,后面有有新的应用点加上去!1,常用时间的一些转换 convert。获取当前整点时间和前一个小时。原创 2023-06-24 19:31:57 · 530 阅读 · 0 评论 -
SqlServer中的exists常用
where [ReelName]= [MotherReelName] 在其他表有数据就显示 1 (select 1 )exists(select 1 from 表名)--有数据,当然这样更多是为了关联其他表的条件使用。加上 not exists 表示存在不满足这个条件,加上exists表示满足这个条件,2, 排除在其他表的存在数据。1,检查表是否有数据。原创 2023-06-24 18:51:09 · 555 阅读 · 0 评论 -
根据sqlserver 中的临时表和物理表哪个速度快?
为啥写这个,因为我在数据库中使用到了算法,最开始本地用样本数据测试后效果是不错的,速度也很快,但是用上真实数据后,数据量是百万级别的,那问题就大了,所以 1,必须优化sql的计算方法,2,在ETL中处理计算不是一个明智的方式,可以把要计算的值保存在物料表中!物理表,又称为永久表,存储在用户数据库中,需要手动进行创建和删除。对于大批量数据的操作,物理表通常可以提供更好的性能,因为它们可以利用更多的索引和优化策略。但是,无论是临时表还是物理表,都需要合理地设计表结构和索引,以及优化查询语句,才能实现最佳性能。原创 2023-06-24 18:35:23 · 751 阅读 · 0 评论 -
sqlserver行列转换( unpivot 和 pivot)
1,unpivot 是将列转为行显示,很多时候,我们用多个列了显示同一个对象不同维度得数据,如果需要数据关联,肯定需要转为横向显示!speeName 显示转换的列名,speeVal 代表了那么多列的值,然后显示出来就可以了,比较简单!2,pivot 是将行转为列显示, 下面这个案例,是把整点的数据按照小时显示成列,纵向排列。in里面的就是hour这列所有的值,将这个值变成了列,一天24小时,从0-23,要达到得目的是把 spee1,spee2,,,等列转为横向显示,看看得到得效果。unpivot紧跟表名,原创 2023-05-31 15:07:34 · 2674 阅读 · 2 评论 -
sqlserver获取每天最接近整点的一条数据
可以看到,一天是取到了24条数据,而且行号rn等于1取到了按小时分区的第一条数据,时间给的是一天的,改为A天的就是 24*A数据,比较简单,记录一下!1,简单的group by 做法就比较复杂了,复杂的分组做法都采用了partition by 分区函数处理,好处是不影响原有数据行数。思路:要取到整点数据,首先想到了是利用数据里面的时间整点部分进行分组,通过时间正序,取到分钟第一条数据就行了。原创 2023-05-27 21:42:19 · 1764 阅读 · 0 评论 -
C# 获取最后执行的sql语句,通用方法
/sqlParameters的基类,.net的sql参数类都实现IDbDataParameter 故而可用通用!//commandText 带sql参数的sql语句。原创 2023-02-22 18:15:19 · 281 阅读 · 0 评论 -
SQL Server 2012 序列(SEQUENCE)使用
一直用Oracle中的SEQUENCE,想着看看sql sqlserver 有没有,简单查了一下,发现有确实有的,试了一下,做个笔记,没有这个SEQUENCE 的时候, 多表关联同一个表单是先 插入数据,通过 selectidentity ,获取,如果没有设置自增,那么获取 max()+1 的值。在sql server中使用:1,创建SquenceCREATE SEQUE...原创 2020-04-20 11:26:37 · 2259 阅读 · 0 评论 -
sqlserver中 分组查询和多行合并成一行(for xml path的运用)
1,创建表,然后开始一步一步的进行,CREATE TABLE [dbo].[Student]( [sid] [int] IDENTITY(1,1) NOT NULL, [name] [nvarchar](50) NULL, [age] [int] NULL, CONSTRAINT [PK_Student] PRIMARY KEY CLUSTERED ( [sid] ASC...原创 2020-04-16 16:24:45 · 2548 阅读 · 0 评论 -
sqlserve 快速的查看表结构
–SQL,server快速查看表结构SELECT CASE WHEN col.colorder = 1 THEN obj.name ELSE '' END AS 表名, obj.name AS 表名1, col.colorder AS 序号 , col.name AS 列名 , ISNULL...原创 2019-06-29 17:03:56 · 185 阅读 · 0 评论 -
通过sqlcmd执行sql文件
应用场景发生的事情,由于sql文件过大,超过了100M,再数据库的窗口执行,结果超出内存了,我用的PC是8G的内存,所以sqlcmd可以派上用场了运行--cmd--使用下面地址(注意是自己的sqlserver数据库的安装路径)cd C:\Program Files\Microsoft SQL Server\100\Tools\Binnsqlcmd -S . -U sa -P 123 ...原创 2019-02-26 13:54:18 · 6743 阅读 · 0 评论 -
insert into的用法
1,最简单的搞法create table test( keyid int identity, sort varchar(10), qty int) insert into test (qty2,sort2) values (1,'e') 2,插入多个值,插入多条记录这个写法还是好些的insert into test(qty,sort) values (1,'a') ,(2,...原创 2019-06-13 15:38:25 · 56743 阅读 · 2 评论 -
sql中不用group by分组进行计总
废话不多说,直接上代码create table test( keyid int identity, sort varchar(10), qty int) insert into test(qty,sort) values (1,'aa') ,(2,'aa'),(3,'bb'),(8,'cc'),(9,'cc') select * from test对qty进行...原创 2019-06-13 16:06:06 · 10765 阅读 · 5 评论 -
sqlserver 2012开窗函数快速分页
开工,建表插入值create table test( keyid int identity, sort varchar(10), qty int) 插入数据,特意删除了一个id为 7的数据,让ID不连续!接下来,分页sqlselect COUNT(1) OVER () as [总数],* from test order by keyid offset 0 rows fe...原创 2019-06-14 10:43:34 · 659 阅读 · 0 评论 -
sqlserver,单元格中有多个关联ID,如何关联ID查询显示其他字段!
前面写以一篇关于Oracle的,由于我是玩sqlsever比较多,所以是看看sqlserver中如何处理这样的问题!开始准备,为了方便,搞了临时表create table select 239 GNM_ID,'123' GNM_Name into #GNM_TABLEinsert into #GNM_TABLE(GNM_ID,GNM_Name)values(273,'GS')insert...原创 2019-06-03 15:24:22 · 2302 阅读 · 6 评论 -
sqlserver-游标
游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。其实应用更多时候是给我对多条数据处理, 情况有点类在程序中写循环读取数据后做业务处理,废话不多说,上代码1,建表 CREATE TABLE [dbo].[test3]( [keyid] [int] IDENTITY(1,1) NOT NULL, ...原创 2019-06-24 14:32:07 · 486 阅读 · 0 评论 -
sql-异常捕获,事务提交回滚
一看就很明白,虽然在程序中经常写,但是很少在sql这么写,最近是有时间,所以现在拿出来写写,温故一下,上代码:SET XACT_ABORT ON --有些可能查询不到异常,加上这个BEGIN TRAN --事务开启 BEGIN TRY --捕获开始 insert into [test] (sort) values ('反反复复反反复复反反复复') ...原创 2019-06-24 15:11:55 · 1439 阅读 · 0 评论 -
sqlserver-自定义函数
在sqlserver中有如下几种自定义函数**标量值函数**(返回一个确定类型的值)标量值一看就想到了数学中的标量(只有大小没有方向)和向量(有大小同时有方向),结果我推测对了,哈哈!**表值函数**(以表的形式返回值,相当于参数化的视图)**多声明表值函数**(标量函数和内联表值函数结合体,返回值是一个表,和标量型函数一样可以用begin...end)原创 2019-06-24 22:40:26 · 2304 阅读 · 0 评论 -
sqlserver搜索分页并返回总数
1,很多时候我们需要对一些前端的UI通过json渲染数据,这样才还对接,那么通过sql可以很好的放回对应的数据,然后把数据转换成对应的类型就好了先上代码1,创建表CREATE TABLE [dbo].[Wsyj_User]( [Uid] [int] IDENTITY(1,1) NOT NULL, [Account] [varchar](50) NULL, [AccountPwd...原创 2019-02-18 11:15:27 · 4022 阅读 · 0 评论