-
简单触发器的使用 传授于SQL初学者
所属栏目:[MsSql教程] 日期:2021-12-24 热度:180
首先,啰嗦几句废话如下: (1)触发器(trigger)是个特殊的存储过程,它的执行并不需要我们去显式调用,而是由一些事件触发,这有点类似C#中的事件处理机制。当使用UPDATE,INSERT 或DELETE的一种或多种对指定的数据库的相关表进行操作时,会触发触发器。[详细]
-
sqlserver中获取月份的天数的方法分析
所属栏目:[MsSql教程] 日期:2021-12-24 热度:53
如下: 复制代码 代码如下: CREATE FUNCTION [dbo].[udf_DaysInMonth] ( @Date DATETIME ) RETURNS INT AS BEGIN DECLARE @dim AS TABLE (M INT,Dy INT) INSERT INTO @dim VALUES (1,31),(3,31),(5,31),(7,31),(8,31),(10,31),(12,31), (4,30),(6,30),(9,30),[详细]
-
sqlserver 文件数据库和关系数据库的对比
所属栏目:[MsSql教程] 日期:2021-12-24 热度:148
摘要:随着应用领域的不断拓展和多媒体技术, 人们发现关系数据库的许多限制和不足,因而数据库技术进入了后关系数据库时代。文件数据库由此应运而生。本文概要地从数据格式、数据库结构和WEB发布数据三个方面比较了文件数据库和关系数据库的异同,同时差别了[详细]
-
SQL语句练习实例技巧——找出最近的两次晋升日期与工资额
所属栏目:[MsSql教程] 日期:2021-12-24 热度:138
复制代码 代码如下: --程序员们在编写一个雇员报表,他们需要得到每个雇员当前及历史工资状态的信息, --以便生成报表。报表需要显示每个人的晋升日期和工资数目。 --如果将每条工资信息都放在结果集的一行中,并让宿主程序去格式化它。 --应用程序的程序员都[详细]
-
SQL语句练习实例大全——找出销售冠军
所属栏目:[MsSql教程] 日期:2021-12-24 热度:61
复制代码 代码如下: --销售冠军 --问题:在公司中,老板走进来,要一张每个地区销量前3名的销售额与销售员的报表 --- create table salesdetail ( Area int not null, Saler nvarchar(20) not null, SalerId int not null, Sales money not null ) insert sal[详细]
-
SQL语句练习实例应用——平均销售等待时间
所属栏目:[MsSql教程] 日期:2021-12-24 热度:190
复制代码 代码如下: ---1.平均销售等待时间 ---有一张Sales表,其中有销售日期与顾客两列,现在要求使用一条SQL语句实现计算 --每个顾客的两次购买之间的平均天数 --假设:在同一个人在一天中不会购买两次 create table sales ( custname varchar(10) not nul[详细]
-
SQL Server Bulk Insert 只需要部分字段时的技巧
所属栏目:[MsSql教程] 日期:2021-12-24 热度:127
根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据。 我想到两点,1.手工修改格式化XML文件,2.创造一个能生成格式化XML文件的中间对象。 在MSDN中寻找方法时,突然想到可以使用视图来做中间对象,于是就搭一[详细]
-
mssql中得到指定日期所在月份的第一天的代码
所属栏目:[MsSql教程] 日期:2021-12-24 热度:107
获取指定日期月份的第一天,你可以使用DATEADD函数,减去指定日期的月份过去了的天数,即可。 复制代码 代码如下: CREATE FUNCTION [dbo].[udf_FirstDayOfMonth] ( @Date DATE ) RETURNS DATETIME AS BEGIN RETURN CAST(DATEADD(day,1 - DAY(@Date), @Date) A[详细]
-
sqlserver中如何寻找出连续日期记录的代码
所属栏目:[MsSql教程] 日期:2021-12-24 热度:166
有在论坛上看到一帖,《请教查询出连续日期记录的方法》,截图如下: Insus.NET尝试写了程序并做了测试,可以得到预期的结果,SQL代码可参考和学习之用。 复制代码 代码如下: --创建一个临时表,将会存储连续日期的记录 CREATE TABLE #temp (IDD VARCHAR(10),[详细]
-
SQLserver 数据库危险存储过程删除与恢复措施
所属栏目:[MsSql教程] 日期:2021-12-24 热度:71
今天为了实现SQLServer/ target=_blanksqlserver的复制功能,因为以前删除了很多的sqlserver的一些会导致不安全因素的扩展,导致很多功能无法用,没有办法需要重新的恢复扩展。 曾经遇过,差点抓狂,有装MSSQL的朋友,赶紧试一下,删除以下的组件.当然,前提是你要[详细]
-
insert select与select into 的用法使用步骤
所属栏目:[MsSql教程] 日期:2021-12-24 热度:178
insert into(列名) select 列名 from 表名 where 条件 --不创建表,只复制表数据 select 列名 into 表名(这个表名是不存在的) from 表名 where 条件,--创建一张新表,只复制选择的列名字段数据 Insert是T-sql中常用语句,Insert INTO table(field1,field2,[详细]
-
sqlserver合并DataTable并排除重复数据的通用方法说明
所属栏目:[MsSql教程] 日期:2021-12-24 热度:169
代码如下: 复制代码 代码如下: ///summary /// 将两个列不同的DataTable合并成一个新的DataTable ////summary ///param源表/param ///param需要合并的表/param ///param需要排重列表(为空不排重)/param ///param合并后Table的最大行数/param ///returns合[详细]
-
分析SQL Server删除重复行的6个方法
所属栏目:[MsSql教程] 日期:2021-12-24 热度:189
1.如果有ID字段,就是具有唯一性的字段 复制代码 代码如下: delect table where id not in ( select max(id) from table group by col1,col2,col3... ) group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相[详细]
-
SQL对时间处理的语句分析
所属栏目:[MsSql教程] 日期:2021-12-24 热度:185
复制代码 代码如下: --获取当前时间 Select getdate() --获取当前年月日 YY代表年,MM代表月,DD代表日,hh代表时,ss代表秒 /* year yy 1753--9999 quarter qq 1--4 month mm 1--12 day of year dy 1--366 day dd 1--31 week wk 1--53 weekday dw 1--7(Sunday--S[详细]
-
SQL集合函数中case when then 使用技术
所属栏目:[MsSql教程] 日期:2021-12-24 热度:175
那么在集合函数中它有什么用呢 ? 假设数据库有一张表名为student的表。 如果现在要你根据这张表,查出江西省男女个数,广东省男生个数,浙江省男女个数 怎么写SQL语句?即要生成下结果表 答案是:select sex ,count ( case province when 广东省 then 广东省[详细]
-
sql ntext数据类型字符替换实现操作
所属栏目:[MsSql教程] 日期:2021-12-24 热度:184
复制代码 代码如下: ---ntext数据类型字符替换 create table tt ( sid INT IDENTITY(1,1), cont ntext ) go insert into tt(cont) values(Nfd sad fdsa 涂聚文工团 缔友计算机信息技术有限公司 可能性 桔柑 ) go update tt set cont=fd sad fdsa 涂聚文工团[详细]
-
根据表名和索引获取需要的列名的存储步骤
所属栏目:[MsSql教程] 日期:2021-12-24 热度:148
复制代码 代码如下: create proc p_sword_getblcolumn ( @tblName varchar(200), @fromIndex int, @toIndex int, @columnName varchar(3000) output ) as begin declare @tempColumn varchar(3000) declare @errMsg varchar(200) declare @i int set @i=1 set[详细]
-
sql 查询本年、本月、本日记录的语句,附SQL日期函数
所属栏目:[MsSql教程] 日期:2021-12-24 热度:194
查询本日记录 SELECT * FROM messages WHERE CONVERT(Nvarchar, CreateDate, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY CreateDate DESC 列名,getdate())=0 查询本年 SELECT count(*) FROM messages WHERE datediff(year,CreateDate,getdate())=0[详细]
-
SQL Server数据库的高性能优化经验总结
所属栏目:[MsSql教程] 日期:2021-12-24 热度:116
本文主要向大家介绍的是正确优化SQL Server数据库的经验总结,其中包括在对其进行优化的实际操作中值得大家注意的地方描述,以及对SQL语句进行优化的最基本原则,以下就是文章的主要内容描述。 优化数据库的注意事项: 1、关键字段建立索引。 2、使用存储过程[详细]
-
SQL Server本地时间和UTC时间的相互转换实现代码
所属栏目:[MsSql教程] 日期:2021-12-24 热度:55
复制代码 代码如下: DECLARE @LocalDate DATETIME, @UTCDate DATETIME, @LocalDate2 DATETIME SET @LocalDate = GETDATE() SET @UTCDate = DATEADD(hour, DATEDIFF(hour,GETDATE(),GETUTCDATE()), @LocalDate) SET @LocalDate2 = DATEADD(hour, DATEDIFF(hour[详细]
-
sqlserver下将数据库记录的列记录转换成行记录的方法
所属栏目:[MsSql教程] 日期:2021-12-24 热度:166
假设有张学生成绩表(tb)如下: Name Subject Result 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 想变成 姓名 语文 数学 物理 ---------- ----------- ----------- ----------- 李四 74 84 94 张三 74 83 93 SQL 语句如下[详细]
-
SQL Server 聚集索引和非聚集索引的区别分析
所属栏目:[MsSql教程] 日期:2021-12-24 热度:133
聚集索引:物理存储按照索引排序 非聚集索引:物理存储不按照索引排序 优势与缺点 聚集索引:插入数据时速度要慢(时间花费在物理存储的排序上,也就是首先要找到位置然后插入) 查询数据比非聚集数据的速度快 汉语字典的正文本身就是一个聚集索引。比如,我们[详细]
-
sqlserver 批量删除存储过程和批量修改存储过程的语句
所属栏目:[MsSql教程] 日期:2021-12-24 热度:59
修改: 复制代码 代码如下: declare proccur cursor for select [name] from sysobjects where name like Foods_% declare @procname varchar(100) declare @temp varchar(100) open proccur fetch next from proccur into @procname while(@@FETCH_STATUS =[详细]
-
sqlserver 数据库连接字符串中的可选项收集
所属栏目:[MsSql教程] 日期:2021-12-24 热度:81
Application Name(应用程序名称):应用程序的名称。如果没有被指定的话,它的值为.NET SqlClient Data Provider(数据提供程序)。 AttachDBFilename/extended properties(扩展属性)/Initial File Name(初始文件名):可连接数据库的主要文件的名称,[详细]
-
SQL语句 一个简单的字符串分割函数
所属栏目:[MsSql教程] 日期:2021-12-24 热度:69
复制代码 代码如下: CREATE FUNCTION dbo.f_splitstr( @str varchar(8000) )RETURNS @r TABLE(id int IDENTITY(1, 1), value varchar(5000)) AS BEGIN /* Function body */ DECLARE @pos int SET @pos = CHARINDEX(,, @str) WHILE @pos 0 BEGIN INSERT @r(val[详细]