Welcome 微信登录

首页 / 数据库 / SQLServer

SQL集合函数中case when then 使用技巧

SQL集合函数中case when then 使用技巧

那么在集合函数中它有什么用呢?假设数据库有一张表名为student的表。如果现在要你根据这张表,查出江西省男女个数,广东省男生个数,浙江省男女个数 怎么写SQL语句?即要生成下结果表答案是:select sex ,count ( case province when "广东省" then "广东省" end )as 广东省 ,count ( case province when "江西省" then "江西省" end )as 江西省 ,count ( c...
sqlserver中如何查询出连续日期记录的代码

sqlserver中如何查询出连续日期记录的代码

有在论坛上看到一帖,《请教查询出连续日期记录的方法》,截图如下:Insus.NET尝试写了程序并做了测试,可以得到预期的结果,SQL代码可参考和学习之用。 复制代码 代码如下: --创建一个临时表,将会存储连续日期的记录 CREATE TABLE #temp (IDD VARCHAR(10),SDATE DATETIME) DECLARE @sD DATETIME --开始日期 DECLARE @eD DATETIME --结束日期 --在记录中,找出开始...
SQLserver 数据库危险存储过程删除与恢复方法

SQLserver 数据库危险存储过程删除与恢复方法

今天为了实现SQLServer/" target="_blank">sqlserver的复制功能,因为以前删除了很多的sqlserver的一些会导致不安全因素的扩展,导致很多功能无法用,没有办法需要重新的恢复扩展。 曾经遇过,差点抓狂,有装MSSQL的朋友,赶紧试一下,删除以下的组件.当然,前提是你要把自己的数据库搞定后再去删除,否则组件删除后很多功能不能用,为了安全,就得牺牲某些功能,当然,像我这类的,我除了把MSSQL导入后,基本上一年用不到两次...
sqlserver获取当前日期的最大时间值

sqlserver获取当前日期的最大时间值

那你也许会问及,怎样获取当前系统日期的最大时间值,如yyyy-MM-dd 23:59:59.997。 我们可以使用DATEADD函数,来实现,以当前日期的午夜时间值加一天,即得到第二天的午夜时间值,然后再减去3秒,即可以获取当前系统日期的最大时间值。 复制代码 代码如下: DECLARE @Date DATETIME = CURRENT_TIMESTAMP --当前系统日期时间 DECLARE @midnight DATETIME SET @midnigh...
简单触发器的使用 献给SQL初学者

简单触发器的使用 献给SQL初学者

首先,啰嗦几句废话如下: (1)触发器(trigger)是个特殊的存储过程,它的执行并不需要我们去显式调用,而是由一些事件触发,这有点类似C#中的事件处理机制。当使用UPDATE,INSERT 或DELETE的一种或多种对指定的数据库的相关表进行操作时,会触发触发器。 (2)触发器可以包含复杂的SQL语句,主要用于强制复杂的业务规则或要求。 (3)触发器能够维持数据库的完整性,当执行插入、更新或删除操作时,触发器会根据表与表之间的关系,强制保...
SQL点滴24 监测表的变化

SQL点滴24 监测表的变化

有时候,我们在某一重要的时间段需要监控某张表的变化情况,包含插入、更新、删除。举例来说,当我们把数据导出到外部的系统时,我们希望导出的是全部的数据,而且最好是导出上次导出之后变动的数据。 作为DBA,我们可采传统的触发器操作,来构建一个元数据表或一个时间戳列来监控数据的变化。 代码如下:Code Listing 1 该代码在 SQL 2005(SP3), SQL 2008 R2 (RTM with cu5)测试通过 复制代码 代码如下: ---------...
记一次成功的sql注入入侵检测附带sql性能优化

记一次成功的sql注入入侵检测附带sql性能优化

但是如果是让你接手一个二等残废的网站,并让你在上面改版,而且不能推翻式改版,只能逐步替换旧的程序,那么你会非常痛苦,例如我遇到的问题: 问题1. 老板对你说,以前刚做完网站好好了,没有出现木马,怎么你来了,就会出现木马,先别说了,赶紧解决问题,我彻底无语,但是如果争吵,其实证明你和老板一样无知,拿出证据和事实分析来让公司其他稍微懂技术的一起来证明,公司网站被挂马不是你来了的错。 如是我通过网站目录仔细排查将通过fck上传的网马删除并修补fck的上传漏洞并记...
sqlserver中在指定数据库的所有表的所有列中搜索给定的值

sqlserver中在指定数据库的所有表的所有列中搜索给定的值

比如:我们导入了某个客户的资料,我们知道此客户的姓名是ZhangShan,我们想知道,在我们的业务数据库(eg:NorthWind)中,有哪些数据表的哪些字段设置了此姓名值ZhangShan,通过下面的SQL,我们就可以实现此目的,此处的SQL搜索自网上,在此处做了局部修改。 一、搜索数据是String类型 适用于搜索Text,NText,Varchar,Nvarchar,Char,NChar等类型 1、创建存储过程:My_Search_StringInG...
mssql server 数据库附加不上解决办法分享

mssql server 数据库附加不上解决办法分享

错误15105,从网上找了一些解决方案,一般都是说文件的权限不足的问题,当然附加的时候必须是有数据库附加权限才可以操作的。解决办法1:给相应的MDF文件给Full Control的权限,如果不知道是什么用户可以去Sql Server的配置中心去找但是我遇到这个用上述方法就不可以。解决方法2:换个用户试试,我原数据库是用sa登陆的,我试着用sa登陆一下,附加成功了!~如果反复的用sa登陆却登陆失败,可能是没有开权限。权限可以在登陆用户的选项中设置,允许登陆即...
SQL Server Bulk Insert 只需要部分字段时的方法

SQL Server Bulk Insert 只需要部分字段时的方法

根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据。 我想到两点,1.手工修改格式化XML文件,2.创造一个能生成格式化XML文件的中间对象。 在MSDN中寻找方法时,突然想到可以使用视图来做中间对象,于是就搭一个测试下。以下是测试记录: 复制代码 代码如下: USE master GO CREATE DATABASE [db_test] GO USE db_test GO CREATE TABLE dbo.T...
<< 101 102 103 104 105 106 107 108 109 110 >>