随笔分类 - SQL
摘要:好文:https://www.cnblogs.com/12lisu/p/15786013.html
阅读全文
摘要:DECLARE @monthDay INT; SET @monthDay = DAY(DATEADD(MONTH, 1, GETDATE()) - DAY(GETDATE())); DECLARE @n INT; SET @n = 1; DECLARE @montDayhstr NVARCHAR(200); SET @montDayhstr ='' WHILE @n <= @monthDa...
阅读全文
摘要:SELECT ( CASE WHEN a.colorder = 1 THEN d.name ELSE '' END ) 表名 , a.colorder 字段序号 , a.name 字段名 , g.[value] AS 字段说明 FROM syscolumns a LEFT J...
阅读全文
摘要://由于是取根节点下第一层所对0作了一个判断 这里自已可以根据自已要的数据来取ALTER function [dbo].[f_pid](@id varchar(60)) returns @t_level table(pid varchar(60),sortNum int) as BEGIN DECLARE @sortNum int SET @sortNum = 0 --得到当...
阅读全文
摘要:一、SQL SERVER 2005快捷键 快捷键 功能 CTRL + SHIFT + B生成解决方案 CTRL + ...
阅读全文
摘要:下表列出 SQL Server 查询分析器提供的所有键盘快捷方式。 活动 快捷方式 书签:清除所有书签。 CTRL-SHIFT-F2 书签:插入或删除书签(切换)。 CTRL+F2 书签:移动到下一个书签。 F2 功能键 书签:移动到上一个书签。 SHIFT+F2 取消查询。 ALT+B...
阅读全文
摘要:select count(syscolumns.name) from syscolumns , sysobjects where syscolumns.id = sysobjects.id and sysobjects.name = 'qb...
阅读全文
摘要:好像一个人(用户),他是什么角色(老板,经理,员工) ,这个角色有什么权限, 这个权限有什么功能 ,下面上一个基本的模型,当然也可以分得更细
阅读全文
摘要:先看数据表:首先找出每个学生的课程数select name,COUNT(kem) as nums from xresult where result>60 group by name --找出大于60分学生课程门数select name, COUNT(kem)as nums from xresult group by name ---找出学生所有课程门那么就可以给两个表进行,左右连接,当大于60的课程,和它所有的课程相等时候,那么这位学当然就满足条件 select A.name from( select name,COUNT(kem) as nums from xresult where
阅读全文
摘要:首先看我准备一张数据表(这是做一个数据测试的表,就相当于它们,一天打好几场球)没错,就需要得到箭头指向的数据表,从数据表结构看出,应该会用到sum加和函数,同时还会用到分组函数,不同日期的分组 select distinct Date, sum(case Result when '胜利' then 1 else 0 end)as '胜利', //当判断为胜利的时候1 不是当然是0 sum+0=sum sum(case Result when '负' then 1 else 0 end)as '负' from Game group
阅读全文
摘要:我们都知道数据设计常用的又三种范式(当然也有更多了)1NF:数据的原子性(听起来有点抽象哦,也就是不可分割)2NF:数据的唯一性(哈叫唯一啊)3NF:数据人冗余性(说白了就是数据存在没必要的,就像你有一份文件了,你在copy一份干哈呢)当然范式也是一级一级的满足要求 1NF-->2NF---->3NF.三种范式其实是对数据的一种约束.下面用几个简单的表 表示几种范式1NF:从图种就可以看出是可以分割的!即不满足1NF(如果你强行那样别人也拿你没办法)标准一范式:2NF记录的唯一性(当然要满足在一范式基础上)从图看发现重复了,没有唯一性,所以我们加主键3NF(当然在1NF和2NF 的
阅读全文
摘要:首先sql语句:select * from dbo.O_OrderContent where OrderNo='BMB00022'//得到如下图://我们的要求是要把两行英语合成一行English,当然实现这样的合并有很多,今天主要用for xml path 来实现select * from dbo.O_OrderContent where OrderNo='BMB00022' for xml path//现在就要结合for xml path 的数据来查出自已想要的结果是了select English from( select (select O_OInstr.
阅读全文
摘要://初使数据1 x1 x2 y2 y2 y3 z3 Z4 U//-----------------删除重复记录后--------------------------1 x2 y3 z4 u//这题用临时表来解决应该会方便的多 当然还有其它办法select distinct * into #临时表名 from 你的表;truncate from 你的表insert into 你的表 from #临时表//这里临时表作为一个中间过渡的作用
阅读全文
摘要:ALTER PROCEDURE [dbo].[SP_Create_Dynamic_OrderNo]ASBEGIN DECLARE @NewRefNo CHAR(8) --声明新单号 DECLARE @MaxNo INT ---RIGHT函数表示从右边截取 select right('1234',2)rsult:34 BMB10001 SELECT @MaxNo=ISNULL(CONVERT(INT,RIGHT(MAX(OrderNo),5)),0)+1 FROM O_OrderMaster ---MAX(RefNo)得到最大的依次增长 ...
阅读全文
摘要:数据库模糊搜索时,关键字中有%号,怎么办? 数据库模糊搜索时,都知道应该用通配符%号来模糊匹配。如:select *from table where content like '%key%'。但当关键字key中也包含有%号时,应该怎么办? 数据库中有关键字:escape就是用来转换的。使用escape关键字定义转义符时,当转义符置于通配符之前时,该通配符就解释为普通字符。用法:ESCAPE 'escape_character' 其允许在字符串中搜索通配符而不将其作为通配符使用。'escape_character'通常用'/'或&#
阅读全文
摘要:select TestA.CID, (case when QTY2 != QTY then QTY2 else QTY end ) as QTYfrom TestA left join TestB on TestA.CID = TestB.CID
阅读全文
摘要:select *from sysobjectssysobjects 系统对象表。 保存当前数据库的对象,如 用户表、约束、默认值、日志、规则、存储过程等//select *from syscolumns syscolumns描述列的属性select count(*) from sysobjects a join syscolumns b on a.id=b.id where a.name='I_BBOrderUpload'
阅读全文
摘要:首先看图片:相同的单号:A0001 不同的Flag组 1和2---下面是游标(其实游标就和我们写代码差不多,它主要像我们循环dataTable,在进行判断差不多)-- select * from FX_Get_O_OrderContent_Flag_OrderData('A0001')ALTER function [dbo].[FX_Get_O_OrderContent_Flag_OrderData]( @OrderNO nvarchar(20))returns @OrderContentOrdrNODatat TABLE( [OrderNo] nvarchar(20), [C
阅读全文
摘要:exec sp_msforeachtable 'drop table ?' ---删除数据库中所有表
阅读全文