随笔分类 -  SQL笔记

数字辅助表
摘要:CREATE FUNCTION dbo.GetNums (@low AS BIGINT, @high AS BIGINT) RETURNS TABLE AS RETURN WITH L0 AS (SELECT c FROM (VALUES (1), (1)) AS D (C) ), L1 AS (S 阅读全文

posted @ 2020-09-16 18:25 Aidou_dream 阅读(105) 评论(0) 推荐(0) 编辑

sql for xml path
摘要: 阅读全文

posted @ 2019-12-31 17:06 Aidou_dream 编辑

sql for xml path
摘要: 阅读全文

posted @ 2019-10-17 22:11 Aidou_dream 编辑

cte 递归查询
摘要:向下查询 WITH q AS ( SELECT Id, ParentId, Name,Sort FROM dbo.ProductClassifications WHERE Id = '3c02a309-1eba-4eaf-9d58-ad732b8df876' UNION ALL SELECT a.I 阅读全文

posted @ 2019-08-23 16:08 Aidou_dream 阅读(146) 评论(0) 推荐(0) 编辑

T-SQL 批量更新字段
摘要:更新 阅读全文

posted @ 2019-07-19 19:43 Aidou_dream 阅读(551) 评论(0) 推荐(0) 编辑

SQL 查询表外键_T-Sql 2016——级联删除外键查询
摘要:SELECT fk.name AS foreign_key_name, oSub.name AS table_name, SubCol.name AS table_column, oMain.name AS references_table_name, MainCol.name AS references_ta... 阅读全文

posted @ 2019-07-19 17:17 Aidou_dream 阅读(346) 评论(0) 推荐(0) 编辑

2008技术内幕:T-SQL语言基础 联接查询摘记
摘要:续 2008技术内幕:T-SQL语言基础 单表查询摘记第三章联接查询 Microsoft SQL Server 2008 支持四种表运算符 join(ANSI标准)、apply(T-SQL扩展)、pivot(T-SQL扩展)、unpivot(T-SQL扩展)。 (ANSI SQL是美国国家标准学会(ANSI) 对SQL进行规范化后的国际标准SQL语言,T-SQL是Microsoft SQL Server基于ANSI SQL做了一些扩展形成的专用SQL语言。) join表运算符对两个输入表进行操作,有三种基本类型:交叉联接、内联接、外联接。 处理步骤: 交叉联接只有一个步骤--... 阅读全文

posted @ 2014-03-18 11:37 Aidou_dream 阅读(1498) 评论(2) 推荐(5) 编辑

2008技术内幕:T-SQL语言基础 单表查询摘记
摘要:这里的摘抄来自《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》,书中用到的案例数据库是这个 TSQLFundamentals2008 ,官网给出的连接是这个(貌似有的要穿墙), 冠军也有一份。第一章 T-SQL查询和编程基础SQL (Structured Query... 阅读全文

posted @ 2014-03-04 15:20 Aidou_dream 阅读(1834) 评论(5) 推荐(7) 编辑

sql查询前后两位
摘要:SQL排名的问题,A这个人在数据库里排第十,怎么查询一个他前面两位,后面两位,包括自己的五条数据,各位有啥高招?DECLARE @table TABLE ( id INT PRIMARY KEY IDENTITY(1, 1) , NAME VARCHAR(20) )INSERT INTO @table( NAME )VALUES ( 'AA' )INSERT INTO @table( NAME )VALUES ( 'BB' )INSERT INTO @table( NAME )VALUES ( 'CC' )INSERT IN... 阅读全文

posted @ 2014-02-27 17:39 Aidou_dream 阅读(1714) 评论(0) 推荐(0) 编辑

一个类似权限挂载的设计
摘要:四个表,第一个 DECLARE @A TABLE 状态表DECLARE @A TABLE ( [Aid] INT PRIMARY KEY NOT NULL , [name] NVARCHAR(50) NOT NULL ) ;有id,有[name]表状态,假设@A表有三种状态INSERT INTO @A( Aid, name )VALUES ( 1, N'状态1')INSERT INTO @A( Aid, name )VALUES ( 2, N'状态2')INSERT INTO @A( Aid, name )VALUES ( 3, N'状态3')第 阅读全文

posted @ 2014-02-27 17:27 Aidou_dream 阅读(261) 评论(0) 推荐(0) 编辑

SQL_求集合中每天最大时间记录的总和
摘要:--问题求 集合中每天最大时间的总和 表中的数据列: 用户 分数 时间 A 2 2014-01-01 01:00:00 A 2 2014-01-01 02:00:00 A 2 2014-01-01 03:00:00 A 2 2014-01-02 01:00:00 A 2 2014-01-02 02:00:00 A 2 2014-01-02 ... 阅读全文

posted @ 2014-02-22 12:02 Aidou_dream 阅读(1415) 评论(0) 推荐(0) 编辑

SQL_DDL_建库建表
摘要:--IF DB_ID('testdb') IS NULL--CREATE DATABASE testdbUSE masterGOIF EXISTS ( SELECT * FROM sys.databases WHERE name = 'TestDB' ) --是否存在,存在删除 DROP DATABASE TestDB--GO-- EXEC xp_cmdshell 'mkdir D:\SQL' --调用DOS命令创建文件夹CREATE DATABASE TestDB ON PRIMARY --PRIMARY可选,用于创建主数据库文件... 阅读全文

posted @ 2014-02-17 20:02 Aidou_dream 阅读(2174) 评论(0) 推荐(0) 编辑

字符函数PATINDEX()与STUFF()
摘要:函数 PATINDEX() STUFF() 取数字 英语 汉字更多:http://msdn.microsoft.com/zh-cn/library/ms188395.aspxPATINDEX() 返回模式在指定表达式中第一次出现的起始位置;如果在所有有效的文本和字符数据类型中都找不到该模式,则返回零。语法:PATINDEX ( '%pattern%' , expression )STUFF()STUFF 函数将字符串插入到另一个字符串中。 它从第一个字符串的开始位置删除指定长度的字符;然后将第二个字符串插入到第一个字符串的开始位置。语法 : STUFF ( character_ 阅读全文

posted @ 2013-12-16 16:36 Aidou_dream 阅读(444) 评论(0) 推荐(0) 编辑

日期函数与转型
摘要:今天到今年最后一天,输出每天的星期--今年最后一天DECLARE @lastDay_year VARCHAR(20)--今天DECLARE @nowDay VARCHAR(20)SELECT @lastDay_year = CONVERT(VARCHAR(10), DATEADD(ms, -3,DATEADD(yy,DATEDIFF(yy, 0,GETDATE()) + 1,0)), 120) ;SELECT @nowDay = CONVERT(VARCHAR(10), DATEADD(dd, DATEDIFF(dd, 0, GETDATE()),0), 120) ;--其实上一句的效果和.. 阅读全文

posted @ 2013-12-09 17:21 Aidou_dream 阅读(747) 评论(0) 推荐(1) 编辑

导航