SQL笔记 [长期更新] (

SQL笔记 [长期更新] (-2013.7) –tableA — CREATE TABLE TABLEA( –Column1 VARCHAR (20), –Column2 VARCHAR (20), –Column3 VARCHAR (20), –Column4 int , –Column5 VARCHAR (20), –Column6 DATETIME –) /* –ROW_NUMBER() OVER(), case when 的用

SQL笔记 [长期更新] (-2013.7)

–tableA

–CREATE TABLE TABLEA(
–Column1 VARCHAR(20),
–Column2 VARCHAR(20),
–Column3 VARCHAR(20),
–Column4 int,
–Column5 VARCHAR(20),
–Column6 DATETIME
–)
/*
–ROW_NUMBER() OVER(), case when 的用法:
select ROW_NUMBER() OVER(Order by a.Column1,a.Column2) AS rowid
,CASE WHEN a.Column3 IS NOT NULL THEN(
CASE WHEN a.Column3=’1′ AND a.Column4 IS NOT NULL AND a.Column4 > 0 THEN ‘I’
WHEN a.Column3=’2′ AND a.Column4 IS NOT NULL AND a.Column4 > 0 THEN ‘II’
WHEN a.Column3=’3′ AND a.Column4 IS NOT NULL AND a.Column4 > 0 THEN ‘III’
WHEN a.Column3=’4′ AND a.Column4 IS NOT NULL AND a.Column4 > 0 THEN ‘IV’
WHEN a.Column3=’5′ AND a.Column4 IS NOT NULL AND a.Column4 > 0 THEN ‘V’
WHEN a.Column3=’6′ AND a.Column4 IS NOT NULL AND a.Column4 > 0 THEN ‘VI’
WHEN a.Column3=’7′ AND a.Column4 IS NOT NULL AND a.Column4 > 0 THEN ‘VII’
WHEN a.Column3=’8′ AND a.Column4 IS NOT NULL AND a.Column4 > 0 THEN ‘VIII’
WHEN a.Column3=’9′ AND a.Column4 IS NOT NULL AND a.Column4 > 0 THEN ‘IX’
ELSE ” END — +'(‘+CONVERT(VARCHAR(20),a.Column4)+’)’
)ELSE ” END AS 类型编号
,
from TABLEA a
*/

/*
–本月第一天
SELECT CAST(CONVERT(VARCHAR(20), DATEADD(MONTH,-1, DATEADD(DAY,1-DATEPART(DAY,GETDATE()),DATEADD(MONTH, 1,GETDATE()))) ,112) AS DATETIME)
–本月最后一天
SELECT CAST(CONVERT(VARCHAR(20),DATEADD(DAY,-DATEPART(DAY,GETDATE()),DATEADD(MONTH, 1,GETDATE())) ,112) AS DATETIME)
–下个月第一天
SELECT CAST(CONVERT(VARCHAR(20), DATEADD(DAY,1-DATEPART(DAY,GETDATE()),DATEADD(MONTH, 1,GETDATE())) ,112) AS DATETIME)
*/

/* –复杂存储过程的使用示例:
create proc [SP_复杂存储过程的使用B] (
@ID1 VARCHAR(400)=”
,@ID2 VARCHAR (400)=’sdf7fgef-f4b0-4sfe-8ecb-cbgefb0fcfgh’ –”
,@RESULT VARCHAR(100) output
)
as

BEGIN
DECLARE @行号 INT =1
DECLARE @RESULT_temp VARCHAR(100)=”
SET @RESULT=”

WHILE (@行号
BEGIN
SET @RESULT_temp=”
EXEC SP_复杂存储过程的使用A @编号1=@ID1,@编号2=@ID2,@第几个类型=@行号,@RESULT=@RESULT_temp OUTPUT
IF @RESULT_temp IS NOT NULL AND @RESULT_temp ”
BEGIN
IF @RESULT=” –@行号=1
BEGIN
SET @RESULT=@RESULT_temp
END
ELSE
BEGIN
SET @RESULT+=’,’+@RESULT_temp
END
END
SET @行号+=1
END
END
*/

/* –以下是一个比较长的SQL语句,直到末尾结束(其中涉及到一些不常见的sql写法,值得收藏)
DECLARE @ID号 VARCHAR(50)=’JXsfge’ –放入报表文件的时候,香港虚拟主机,此行注释,服务器空间,即将@ID号当参数即可

DECLARE @i VARCHAR(400) =1
DECLARE @参数类型1 VARCHAR(20)=’某某1′
DECLARE @参数类型2 VARCHAR(20)=’某某2′
DECLARE @参数类型3 VARCHAR(20)=’某某3′
DECLARE @参数类型11 VARCHAR(20)=’某某11′
DECLARE @参数类型22 VARCHAR(20)=’某某22′
DECLARE @参数类型33 VARCHAR(20)=’某某33′
DECLARE @编号C VARCHAR(20)=”
DECLARE @CNAME VARCHAR(20)=@ID号
DECLARE @专业temp VARCHAR(400)=”
DECLARE @序号 INT =”

DECLARE @ROWS VARCHAR(400) =”
EXEC SP_复杂存储过程的使用C @某编号=@ID号,@ROWS1=@ROWS OUTPUT –可以得到输出的”行数”信息

–声明临时表@t_TableA、@t_TableX
declare @t_TableA table(j VARCHAR(10),标记 VARCHAR(50),专业 VARCHAR(50),序号 VARCHAR(10),某号A VARCHAR(50),CISLATEST VARCHAR(50))
declare @t_TableX table(j VARCHAR(10),标记 VARCHAR(50),专业 VARCHAR(50),序号 VARCHAR(10),某号A VARCHAR(50),某号名称 VARCHAR(50),
备注 VARCHAR(50),英文名称 VARCHAR(500))
–开始循环
WHILE (CONVERT(int,@i))=(CONVERT(int,@ROWS))–@i=@ROWS
BEGIN
PRINT @i

INSERT INTO @t_TableA (j,标记,专业,序号,某号A,CISLATEST)(
SELECT TOP 1 * FROM (
SELECT ROW_NUMBER() OVER(ORDER BY TABLEB.专业 DESC,TABLEB.某号A ASC) AS j ,
CASE WHEN TABLEB.专业 =’计算机’ THEN ‘COM’
WHEN TABLEB.专业 =’英语’ THEN ‘EN’
WHEN TABLEB.专业 =’电子商务’ THEN ‘EM’
WHEN TABLEB.专业 =’国际贸易’ THEN ‘ITRADE’
WHEN TABLEB.专业 =’统计分析’ THEN ‘M’
WHEN TABLEB.专业 =’城市建设’ THEN ‘C’
WHEN TABLEB.专业 =’系统维护’ THEN ‘SYS’
ELSE ” END AS 专业,
‘1’ AS 序号,TABLEB.IDA AS 某号A,TABLEB.CISLATEST
FROM TABLEB
WHERE TABLEB.某号A = @ID号 AND TABLEB.CISLATEST=’1′
) AS m1 WHERE m1.j=(CONVERT(int,@i))
)

–调用方式,@时间 为返回值
SET @某号A=(SELECT TOP 1 某号A FROM @t_TableA WHERE j=(CONVERT(int,@i)))
PRINT @某号A

IF(@专业temp =(SELECT TOP 1 专业 FROM @t_TableA WHERE j=(CONVERT(int,@i))))
BEGIN
SET @序号+=1
END
ELSE
BEGIN
SET @序号=1
SET @专业temp=(SELECT TOP 1 专业 FROM @t_TableA WHERE j=(CONVERT(int,@i)))
END

SET @参数类型1=”
SET @参数类型2=”
SET @参数类型3=”
SET @参数类型11=”
SET @参数类型22=”
SET @参数类型33=”

EXEC SP_复杂存储过程的使用B @类型=@参数类型1,@CNAME=@CNAME,@时间=@参数类型11 OUTPUT,@某编号=”
EXEC SP_复杂存储过程的使用B @类型=@参数类型2,@CNAME=@CNAME,@时间=@参数类型22 OUTPUT,@某编号=”
EXEC SP_复杂存储过程的使用B @类型=@参数类型3,@CNAME=@CNAME,@时间=@参数类型33 OUTPUT,@某编号=@编号C OUTPUT –可以同时输出多个结果

DELETE FROM @t_TableA –清空临时表

PRINT ‘参数类型11 :’+@参数类型11+’ 参数类型22:’+@参数类型22+’ 参数类型33:’+@参数类型33

–直接全部显示
BEGIN
INSERT INTO @t_TableX (j,标记,专业,序号,某号A ,某号名称,备注)(
SELECT TOP 1 * FROM (
SELECT ROW_NUMBER() OVER(ORDER BY TABLEB.专业 DESC,TABLEB.某号A ASC) AS j ,
CASE WHEN TABLEB.专业 =’计算机’ THEN ‘COM’
WHEN TABLEB.专业 =’英语’ THEN ‘EN’
WHEN TABLEB.专业 =’电子商务’ THEN ‘EM’
WHEN TABLEB.专业 =’国际贸易’ THEN ‘ITRADE’
WHEN TABLEB.专业 =’统计分析’ THEN ‘M’
WHEN TABLEB.专业 =’城市建设’ THEN ‘C’
WHEN TABLEB.专业 =’系统维护’ THEN ‘SYS’
ELSE ” END AS 专业,
‘1’ AS 序号,TABLEB.IDA AS 某号A,TABLEB.CISLATEST,
@参数类型11+@参数类型22+@参数类型33
FROM TABLEB
WHERE 序号= @ID号 AND TABLEB.CISLATEST=’1′
) AS m1 WHERE m1.j=(CONVERT(int,@i))
)
END
SET @i+=1

END

SELECT j,标记,专业,序号,某号A ,某号名称,备注 FROM @t_TableX

*/

 

下载地址:

posted on

,香港虚拟主机

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1850591.html

(0)
上一篇 2025年2月22日 02:16:00
下一篇 2025年2月22日 02:18:22

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 莓茶可以长期泡水喝吗

    莓茶是生活中比较常见的一种茶叶,它含有多种营养成分,可以起到很不错的功效与作用,深受人们喜欢。莓茶是可以长期喝的,但是每次要适量饮用,不要大量饮用,以免引起肠胃不适或者其他副作用。 莓茶可以长期泡水喝吗 正常人可以长期喝。 莓茶中含有丰富的…

    2025年4月27日
    740.4K00
  • 详解CSS中的盒子模型

    1、盒子模型 所谓盒子模型就是把html页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的容器。每个矩形都由元素的内容、内边距(padding)、边框(border)和外边距(margin)组成。 用公式表示就是:盒子=边框+内边距+内…

    2025年4月1日 编程技术
    200
  • HTML中块标记和行内标记的介绍

    html标记一般分为块标记和行内标记两种类型,它们也称块元素和行内元素。 块元素 每个块元素通常都会独自占据一整行或多整行,可以对其设置宽度、高度、对齐等属性,常用于网页布局和网页结构的搭建。并且块级元素容器可以容纳多个嵌套的块级标签或者行…

    2025年4月1日 编程技术
    100
  • CSS文字排版需要用到的属性

    字体样式属性 font-size:字号大小 font-size属性用于设置字号,该属性的值可以使用相对长度单位,也可以使用绝对长度单位。其中,相对长度单位比较常用,推荐使用像素单位px,绝对长度单位使用较少。 绝对单位可选参数值:xx-sm…

    2025年4月1日 编程技术
    200
  • CSS层叠性、继承性、特殊性的实例详解

    层叠性 所谓层叠性是指多种css样式的叠加,也就是说后面设置的样式会层叠(覆盖)之前的样式,层叠性的前提是css的选择器的优先级相同,例如,当使用内嵌式css样式表定义 标记字号大小为12像素,链入式定义 标记颜色为红色,那么段落文本将显示…

    2025年4月1日 编程技术
    200
  • 详解CSS中的选择器

    1、通配符选择器 通配符选择器用“*”号表示,是所有选择器中作用范围最广的,能匹配页面中所有的元素 /*设置当前页面中所有标签的颜色为红色*/* {color: red;} 登录后复制 2、标签选择器 标签选择器就是选择当前页面…

    2025年4月1日
    200
  • 分享一个Bootstrap的知识详解

    1、make images mobile responsive 用处:   使图片适配你的页面宽度。 操作:   给图片添加 .img-responsive class属性。 @@##@@ 登录后复制 2、Center Text with …

    2025年4月1日 编程技术
    100
  • 对CSS知识的简单介绍

    1、CSS定义 css 指层叠样式表 (cascading style sheets),是一种样式表语言,用来描述 html 或 xml(包括如 svg、xhtml 之类的 xml 分支语言)文档的呈现。css 描述了在屏幕、纸质、音频等其…

    2025年4月1日
    100
  • 分享对HTML基本知识的总结

      html 基本认识 一、简介   1.HTML是超文本标记语言,标准通用标记语言下的一个应用,解释性语言。   2.“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。   3.超文本标记语言的结构包括“头”部分(英语…

    2025年4月1日 编程技术
    100
  • 制作页面时,line-height怎么使用?

    在制作页面的时候,经常会遇到文本图片需要居中的情况,这时候,只要设置下文本的line-height属性等于包裹该文本的元素的高度即可让文本居中显示了,先来看看这个现象。 1 2 3 4 5 行高 6 7 .line-height-demo …

    2025年4月1日 编程技术
    100

发表回复

登录后才能评论