Create procedure 存储过程的声明
PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P 通俗简单的说:PIVOT就是行转列,UNPIVOT就是列传行
NEWID() 随机函数 SELECT TOP 2 * FROM ywle order by newid() --随机排序SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID() //order by 是按字符串排序,order by newid() 随机排序 decimal(10,2),BAL:BAL值保留两位小数点,Convert(decimal(10,2),字段)强转类型
decimal(a,b):a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。
是CAST(xxx AS 类型), CONVERT(xxx,类型)
例如: select convert(decimal(18,3),Fs_JiFen)as jifei from Bill_YeJiCheck ROUND 函数用于把数值字段舍入为指定的小数位数。语法:ROUND(column_name(必需.要舍入的字段。),decimals(必需。规定要返回的小数位数。))
例如:SELECTProductName,ROUND(UnitPrice,0) as UnitPrice FROM Products DATEDIFF() 函数返回两个日期之间的天数。SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。以下例子用于将文本字符串''转换为整型: SELECT CAST('' AS int) Case When Then多条件判断
CASE
WHEN 条件1 THEN 结果1
WHEN 条件2 THEN 结果2
WHEN 条件3 THEN 结果3
WHEN 条件4 THEN 结果4
.........
WHEN 条件N THEN 结果N
ELSE 结果X
END
例如:
--简单Case函数
CASE sex
WHEN '' THEN '男'
WHEN '' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '' THEN '男'
WHEN sex = '' THEN '女'
ELSE '其他' END 其实就是:when if eles end 的意思
when Month(Goods_InsertDate) = 1 then 1 else 0 end)as 1s
而Access是:
语法
IIf(expr, truepart, falsepart)
IIf 函数的语法含有下面这些命名参数:
部分 描述
expr 必要参数。用来判断真伪的表达式。
truepart 必要参数。如果 expr 为 True,则返回这部分的值或表达式。
falsepart 必要参数。如果 expr 为 False,则返回这部分的值或表达式。
iif(a1,a2,a3)表示如果a1为真,结果就取a2,如果a1为假,结果就取a3
例子: Sum(IIF(Month(Goods_InsertDate) = 1, 1, 0)) As 一月,
row_number over();
语法:ROW_NUMBER() OVER(PARTITION BY 字段 ORDER BY 字段) 简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER : (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后 的每条xlh记录顺序编号.(先排序后排标号)
示例:
xlh row_num
1700 1
1500 2
1085 3
710 4 数据库删除重复数据:
没有ID的情况  
select   identity(int,1,1) as id , *   into #temp   from   pviotandunpviot   
delete   #temp   where id not in  (select  max(id)  from  #temp group by [姓名],[课程])
delete   pviotandunpviot   
insert into pviotandunpviot( [姓名],[课程],[分数]) select [姓名],[课程],[分数] from #temp     
delete   #temp   
查询重复数据
select * from Base_Jobtitle where job_number in (select job_number from Base_Jobtitle group by job_number having count(job_number) > 1)
删除重复(重复数据没有保留一条)
Delete Base_Jobtitle where job_number in (select job_number from Base_Jobtitle group by job_number having count(job_number) > 1) 删除重复(重复数据保留一条)
delete from Table_1 where name in (select name from Table_1 group by name having count(name) > 1) and id not in (select max(id) from Table_1 group by name having count(name)>1) 去除重复
Select distinct name from table1 !数据库(a,b)不同
如果还没有创建表table2,可以直接将table1的表结构和记录都复制到数据库中? use b 
select * into table2 from a.dbo.table1 表不存在的情况下
select 字段1,字段2.....字段n into 数据库名..新表名 from 旧数据库名..旧表 where 条件 表存在的情况下
insert into 数据库名..新表名 (字段1,字段2.....字段n) select 字段1,字段2.....字段n from 旧数据库名..旧表 where 条件 having是分组(group by)后的筛选条件,分组后的数据组内再筛选
where则是在分组前筛选 YEAR 或 month :
假如考勤时间为'2015-01-05':而单单取时间的年或者月
select 考勤号,Worker_name,考勤时间, YEAR(考勤时间)=2015 and month(考勤时间)=03 order by 考勤时间 desc 跨数据库之间的拷贝:
insert into 目的数据库..表(列) select 列 from 源数据库..表
DateTime.Now.ToString("yyyy-MM-dd 00:00:00") 取当天的时间(C#)
Getdate()取系统的(SQL)
SELECT CONVERT(varchar(8), getdate(), 120) ;其中varchar(变量自己变化) DATEDIFF() 函数返回两个日期之间的天数。 还可以做时间提醒,比如日常安排提前五分钟
语法
DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式。
datepart 参数可以是下列的值:年(YY),月(MM),日(dd),时(hh),分(mi),秒(ss)
例子 1
使用如下 SELECT 语句:
SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate 返回:1. DATEADD函数计算一个日期通过给时间间隔加减来获得一个新的日期。
语法
DATEADD(datepart,number,date)
datepart 参数可以取年月日时分秒 date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
SELECT OrderId,DATEADD(day,2,OrderDate) AS OrderPayDate
FROM Orders 创建临时表加上id(在没有ID的时候)
select identity(int,1,1) as id ,需要的列 into 临时表明名from 指定表
Select * from 临时表明名
Drop table 临时表明名 把一个表的数据复制到另外一个表里面
存在的情况
insert into 目标表 select * from 原表;
SQL Server中,,
如果目标表不存在:
select * into 目标表 from 原表;
如果有条件
select * into 目标表 from (select * from biao wehre name=’123’)as a; Oracle中,如果目标表存在:
insert into 目标表 select * from 原表;
commit;
Oracle中,如果目标表不存在:
create table 目标表 as select * from 原表; 增加列
Alter table 表名 add column 列名 类型
删除列
Alter table 表名 drop column 列名
修改列名
Exec sp_rename ‘ 表名.列名’,’新的列名’
修改类型
Alter table 表名 Alter column 列名 类型 数据库查询的时候增加序号
Row_number() over(order by 列名)
select ROW_NUMBER() over (order by Gid)as Gid2, * from Base_FaceCentA001
怎么把NULL转化为0 ?isnull(字段名,0) replace 替换 select replace(字段名, '查找的内容','更改的内容') , * from DangAnCailiao
函数返回字符或者字符串在另一个字符串中的起始位置
CHARINDEX ( expression1 , expression2 [ , start_location ] )
    
expression1 是要到 expression2 中寻找的字符中,start_location是CHARINDEX函数在
expression2 中找 expression1 的开始位置。 
CHARINDEX函数返回一个整数,为要找的字符串
expression1 在被找的字符串 expression2 中的位置。假如CHARINDEX没有找到要找的字符串,那么函数将返回整数“0”。 substring 函数是用来抓出一个栏位资料中的其中一部分
SUBSTRING ( expression, start, length )
expression 字符串、二进制字符串 请勿使用包含聚合函数的表达式。
start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置。
length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度。 判断表是否存在 IF EXISTS(SELECT * FROM sysobjects WHERE id=object_id('表名') AND OBJECTPROPERTY(id,'IsUserTable') = 1)
SELECT 'yes'
ELSE
SELECT 'no'
模糊查询表名
Select Name From SysObjects Where Name Like '%表名%' 判断列是否存在不存在则创建
if not exists( select name from syscolumns where id=object_id('detail_kqjl') and name='SCtype')
begin
alter table detail_kqjl add SCtype int
end

sql杂记的更多相关文章

  1. sql杂记:一些坑和数据库恢复

    这是一篇纯粹的乱七八糟的笔记...(勿喷)主要记录一下初入SQL坑的杂七杂八的注意事项. 一.先补充下事务的写法: start transaction;#开始事务 --各种事务... commit;# ...

  2. 【杂记】SQL篇

    21.事务 22.左联右联 23.大小写转换 24.MySql字符串拼接 25.查询数据库表总数 26.Oracle虚拟表 27.判断是否为空 28.SQL取diff 29.存储过程proc 30.创 ...

  3. SQL Script 杂记

    1.提交sql server中未提交的事务 commit select   @@TRANCOUNT 2.查询存储过程中包含某个字符串的所有存储过程 SELECT *FROM   INFORMATION ...

  4. sql server使用杂记

    SqlServer导出数据库 navcat for sql server中打开连接,打开数据库,右键--数据传输,常规选项卡--模式选择dbo,目标选择连接(选择你新建的库)或者文件(导出你要的sql ...

  5. sql server使用杂记(二)

    存储过程CREATE PROCEDURE [dbo].[getprofitandloss]@agentNo varchar(10),@o0 varchar(30),@source varchar(30 ...

  6. 微软BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server)

    [公告]本博客于2015年10月起不再更新 新博客文章主要发表在商业智能BI社区: http://www.flybi.net/blog/biwork 博客地图自动分类 文章目录方便更好的导航,阅读文章 ...

  7. 分布式系统之CAP理论杂记[转]

    分布式系统之CAP理论杂记 http://www.cnblogs.com/highriver/archive/2011/09/15/2176833.html 分布式系统的CAP理论: 理论首先把分布式 ...

  8. MySQL杂记

    参考资料: w3school  SQL 教程 : http://www.w3school.com.cn/sql/index.asp 21分钟 MySQL 入门教程 : http://www.cnblo ...

  9. asp.net、mvc、ajax、js、jquery、sql、EF、linq、netadvantage第三方控件知识点笔记

    很简单,如下: 父页面:(弹出提示框) function newwindow(obj) { var rtn = window.showModalDialog('NewPage.htm','','sta ...

随机推荐

  1. Java枚举类型定义方式

    public enum Method { // get请求 GET("get"), // post请求 POST("post"); private String ...

  2. JMS API(二)

    JMS 公共API 接口共7个: 1.ConnectionFactory 2.Destination 3.Connection 4.Session 5.Message 6.MessageProduce ...

  3. Spring七大框架

    Spring Core:最基础部分,提供IOC和依赖注入.基础概念是BeanFactory,提供对Factory模式的经典实现,这样来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关 ...

  4. 20145303刘俊谦 Java 代码托管

    (20145303刘俊谦) Java 第三周代码托管 这是最近保存下来的代码,今天一起上传的,有很多在代码学习过程中无意识删掉了:

  5. java问卷调查

    你对自己的未来有什么规划?做了哪些准备? 我对自己今后五年有一定的规划,那就是多学一些信息技术上的知识,当今的社会高度信息化,且在以后也有高速发展的势头,所以我认为只有学习足够的专业知识,才可以适应未 ...

  6. RS232引脚,RS485引脚

    1.RS232引脚 2.RS485引脚

  7. Job流程:Mapper类分析

    此文紧接Job流程:决定map个数的因素,Map任务被提交到Yarn后,被ApplicationMaster启动,任务的形式是YarnChild进程,在其中会执行MapTask的run()方法.无论是 ...

  8. Response attachment filename 中文乱码

    Response.setHeader("Content-Disposition", "attachment; filename=" + fileName+&qu ...

  9. 搭建ODS的几套解决方案对比

    公司业务,想要搭建一个医院的ODS服务器:将医院不同厂家的不同数据库版本数据库类型整到一台服务器中,最初想要是同步数据库原生同步机制,最理想的是sqlserver发布订阅,但是后来发现发布订阅不能发布 ...

  10. 【Semantic Segmentation】U-Net: Convolutional Networks for Biomedical Image Segmentation 论文解析(转)

    目录 0. 前言 1. 第一篇 2. 第二篇 3. 第三篇keras实现 4. 一篇关于U-Net的改进 0. 前言   今天读了U-Net觉得很不错,同时网上很多很好很详细的讲解,因此就不再自己写一 ...