sqlserver查询
今天遇到这么一个问题:假设一个表里面有三个字段 NO1 NAME NO2 TYPE假设表里面有如下这么几条数据这里以前是先根据TYPE再根据NO1排序而现在需要换一种排序方式如下所示每条TYPE为1的数据下面可能有两条TYPE为2的数据也可能没有,TYPE为1的数据需要排在TYPE为2的数据的前面,他们根据NO2对应 ...
2024-01-10sqlserver表连接
数据库操作中,我们需要的结果可能在两张表甚至多张表中,这时候就需要表连接操作,多表查询中的各个表之间的字段会存在连接,比如主外键关联,可以使用主外键来关联每张表。表连接方式有以下几种:JOIN: 如果表中有至少一个匹配,则返回行LEFT JOIN(左连接): 即使右表中没有匹配,也从左...
2024-01-10sqlserver刷新视图
sqlserver 用于刷新当前数据库所有视图的存储过程create procedure dbo.proc_refreshviewasbegin declare @viewname varchar(100) declare cur_view cursor for select [name] from sysobjects where [type]="V" open cur_view fetch next from cur_view into @viewname while(@@...
2024-01-10sqlserver发送邮件
-- BI EMAILdeclare @CC varchar(10),@MAIL varchar(500), @str varchar(800),@year varchar(4),@month varchar(2);declare @file_name varchar(50);declare @mail_subject varchar(50);declare @htmlBody varchar(m...
2024-01-10sqlserver游标使用
declare empi_cursor cursor scroll --创建游标 for select top 50 YLJGDM,GRJBXXBSH,XGBZ,"2" AS SJLY,KLXDM as KLX,KH,ZJLXDM as ZJLX, ZJHM,XM FROM DA_GR_JBXX(nolock) where SYZT="0"OPEN empi_cursor --打开游标 DECLARE @zjlx varchar(2) --声明变量 ‘DECLARE’为声明...
2024-01-10sqlserver性能调优
相信不少的朋友,无论是做开发、架构的,还是DBA等,都经常听说“调优”这个词。说起“调优”,可能会让很多技术人员心头激情澎湃,也可能会让很多人感觉苦恼。当然,也有很多人对此不屑一顾,因为并不是每个人接触到的项目都很大,也不是每个人做的项目都对性能要求很高。在主流的企业...
2024-01-10sqlserver的简单分页
--显示前条数据select top(4) * from students; --pageSize:每页显示的条数--pageNow:当前页 select top(pageSize) * from students where sno not in (select top(pageSize*(pageNow-1)) sno from students); --带条件的分页select top (pageSize) * from studentswhere sno not in(select top(page...
2024-01-10sqlserver查看表空间
sqlserver 用于查看当前数据库所有表占用空间大小的存储过程create procedure dbo.proc_getsizeasbegincreate table #temp( t_id int primary key identity(1,1), t_name sysname, --表名 t_rows int, --总行数 t_reserved varchar(50), ...
2024-01-10sqlserver百万级数据库优化方案
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from...
2024-01-10sqlserver排序规则冲突问题解决
问题:在项目数据库开发中,有时我们编写的脚本,在本机执行是没有问题的,但部署到服务器的时候,却在脚本运行时报错了。报错的中英文错误提示信息分别如下。中文:无法解决 equal to 运算中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。English:Cannot resolve the collation conflict bet...
2024-01-10sqlserver分组排序取前三条数据
表结构: 方法1: select a.* from Table_Test as a where 3 > (select count(*) from Table_Test where Brand_Id = a.Brand_Id and AddTime > a.AddTime ) order by a.Brand_Id,a.AddTime desc方法2: select * from (select *,ROW_NUMBER() over( partition by B...
2024-01-10基于sqlserver的四种分页方式总结
第一种:ROW_NUMBER() OVER()方式select * from ( select *, ROW_NUMBER() OVER(Order by ArtistId ) AS RowId from ArtistModels ) as bwhere RowId between 10 and 20 ---where RowId BETWEEN 当前页数-1*条数 and 页数*条数--- 执行结果是:第二种方式:offset fetch next方式(SQL2012以上的版本才支持:...
2024-01-10sqlserver事务处理的一些常见总结
begin tranupdate statement 1 ...update statement 2 ...delete statement 3 ...insert statement 4 ...commit tran这样编写的sql在其中第一个出现异常后还会执行下面的语句,请看下面的例子:create table demo(id int not null)gobegin traninsert into demo values (null)insert into demo values (2)commit ...
2024-01-10SQLServer2005创建定时作业任务
SQLServer定时作业任务:即数据库自动按照定时执行的作业任务,具有周期性不需要人工干预的特点创建步骤:(使用最高权限的账户登录--sa)一、启动SQL Server代理(SQL Server Agent) 二、新建作业 三、设置作业常规属性四、设置作业步骤 五、设置作业计划六、点击"确定" 完成作业设置...
2024-01-10sqlServer实现去除字符串空格
说起去除字符串首尾空格大家肯定第一个想到trim()函数,不过在sqlserver中是没有这个函数的,却而代之的是ltrim()和rtrim()两个函数。看到名字所有人都 知道做什么用的了,ltrim()去除字符串左边的空格,rtrim()去除字符串右边的空格,要去除首尾空格同时使用这个两个函数就好了。测试:select ltrim(' test...
2024-01-10sqlserver锁表、解锁、查看销表的方法
锁定数据库的一个表 SELECT * FROM table WITH (HOLDLOCK)注意: 锁定数据库的一个表的区别SELECT * FROM table WITH (HOLDLOCK)其他事务可以读取表,但不能更新删除SELECT * FROM table WITH (TABLOCKX)其他事务不能读取表,更新和删除SELECT 语句中“加锁选项”的功能说明SQL Server提供了强大而完备的锁机制来帮助实...
2024-01-10SqlServer插入语句的并发问题
今天收到一个小学弟的求助,数据库插入偶尔重复,怎么在sql语句上进行解决。Q:学长,我导入excel数据的操作,平时使用好好的,怎么突然发生插入重复的问题?A:你是使用哪个ORM框架进行操作的? Q:什么是ORM框架?A:额……,你数据库怎么链接操作的? Q:我使用Connection对象进行链接操...
2024-01-10sqlserver特殊字符查询问题及ESCAPE的使用
公司一个老项目,sql server的模糊查询时,查询条件包含 [] ,然后查询结果就一直为空查阅资料得知:如果 LIKE 模式中的转义符后面没有字符,则该模式无效并且 LIKE 返回 FALSE。如果转义符后面的字符不是通配符,则将放弃转义符并将该转义符后面的字符作为该模式中的常规字符处理。这包括百分号 (...
2024-01-10sqlserver如何用不同语种语言显示报错的错误消息
问题:生产环境的操作系统和数据库可能是英文版的,而我们的母语是中文,如果英语能力差点,可能有时对英语环境下的数据库脚本报错的英文提示看不懂,如果直接拿英语错误提示通过翻译工具去翻译,也不一定就是完全翻译得100%准确。解决方案:通过set language指定语种语言,使sql server的报错以...
2024-01-10sqlserver如何通过pivot对数据进行行列转换
脚本:/*说明:sql server如何通过pivot对数据进行行列转换脚本来源:https://www.cnblogs.com/zhang502219048/p/12933347.html*/create table #t( [员工工号] nvarchar(50), [员工姓名] nvarchar(50), [月份] nvarchar(50), [工资] int)insert into #tvalues(N"01", N"张三", N"2020年01月", 2400) ,(...
2024-01-10SqlServer游标的创建与使用熊泽
前言大家都对SqlServer视图、存储过程、触发器的创建与使用有一定的了解了,我们来看下什么是游标,怎么使用,什么时候用。SqlServer视图的创建与使用SqlServer存储过程的创建与使用SqlServer触发器的创建与使用 什么是游标1、游标的概念 游标(Cursor)是处理数据的一种方法,为了查看或者处理...
2024-01-10sqlserver实现树形结构递归查询(无限极分类)的方法
SQL Server 2005开始,我们可以直接通过CTE来支持递归查询,CTE即公用表表达式百度百科公用表表达式(CTE),是一个在查询中定义的临时命名结果集将在from子句中使用它。每个CTE仅被定义一次(但在其作用域内可以被引用任意次),并且在该查询生存期间将一直生存。可以使用CTE来执行递归操作。创建...
2024-01-1005使用axios/vueresource发送HTTP请求
1.1 axios 简介与安装 1、axios简介 1. vue本身不支持发送AJAX请求,需要使用vue-resource、axios等插件实现 2. axios是一个基于Promise的HTTP请求客户端,用来发送请求,也是vue2.0官方推荐的,同时不再对vue-resource进行更新和维护 3. 参考:GitHub上搜索axios,查看API文...
2024-01-10SqlServer使用STUFF拼接内容
--插入一下临时数据源with m as( select "张三" name,"语文"course,"89"score union all select "张三" name,"数学"course,"100"score union all select "张三" name,"英语"course,"40"score union all select "张三" name,"物理"course,"93"score union all select "张三" name,"地理"course,"95"score uni...
2024-01-10(2)SQLServer导出功能
1.前言有时候,我们需要把A库A1表某一部分或全部数据导出到B库B1表中,如果系统运维工程师没打通两个库链接,我们执行T-SQL是处理数据导入时会发生如下错误:这时候SQL Server导出功能很好弥补这一点,而该章节重点介绍该功能。2.操作数据库版本:Microsoft SQL Server Management Studio 17;源头数据库:[1...
2024-01-10