`
zheyiw
  • 浏览: 998376 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

sql基础_日期_分页_字符串_join_聚集

    博客分类:
  • SQL
阅读更多

Declare @DayOne DateTime
--按天,今天
SET @DayOne = DATEADD (dd, DATEDIFF (dd, 0, getdate ()), 0)

--按周,周的第一天
SET @DayOne = DATEADD (wk, DATEDIFF (wk, 0, getdate ()), 0)

--按月,月的第一天
SET @DayOne = DATEADD (mm, DATEDIFF (mm, 0, getdate ()), 0)

--连接删除:
Delete a
From tableA a
Left Join TableB b
On a.XXX = b.XXX
Where a.YYY='yyy'

--连接更新:
UPDATE a
SET    a.password = 1
FROM   sys_user a

--分页查询
SELECT *  
  FROM (  
     SELECT ROW_NUMBER () OVER (ORDER BY a.CardCode) AS rownum,  
               a.CompanyID,  
               a.CustomerID,  
               a.CustomerName  
          FROM vwCRM_Bas_CardCustomerInfo a  
         WHERE a.Tel = '33' AND a.CustomerName = '包子'  
   ) AS data  
 WHERE data.rownum BETWEEN '1' AND '10';  



--字符串处理
right(str,length) 取右边length长度的子字符串
ltrim() 函数从字符串左侧删除空格或其他预定义字符, 还可以将数字转换成字符。

--由'hk0000000182'  --> 0000000183
declare @LogID varchar(20)
declare @maxNum int
set @LogID = 'hk0000000182'
Select @maxNum = right(@LogID,10)
select @maxNum
select right('0000000000'+ltrim(@maxNum+1),10)

--注意以下两句的区别
select  right('00000' + ltrim( '003'+ 3), 5) Sequence --> 00006
select  right('00000' + ( '003'+ 3), 5) Sequence  --> 6

--根据行号生成序号 : 00001, 00002 等
Right('00000' + ltrim(ROW_NUMBER() OVER (ORDER BY WaveBillNo)), 5) Sequence,


拼接列值  
Select ID + ',' From UserInfo FOR XML PATH('')  


建表例1:(自增,多主键,默认值)    
CREATE TABLE CSM_OTH_VipBabyInfo  
(  
   CompanyID   INT IDENTITY (1, 1),  
   NewVipID    VARCHAR (20),  
   OldVipID    VARCHAR (20),  
   ModifyDTM   DATETIME DEFAULT getdate () NOT NULL, 
   CONSTRAINT pk PRIMARY KEY (CompanyID, NewVipID, OldVipID) 
)  

建表例2:
IF OBJECT_ID ('SD_Inv_BillSign', 'U') IS NULL
   BEGIN
      CREATE TABLE SD_Inv_BillSign
      (
         [SignID]        INT IDENTITY (1, 1) NOT NULL,
         [SignTime]      DATETIME DEFAULT GetDate () NOT NULL,
         [CompanyID]     VARCHAR (99) NOT NULL,
         [BillNo]        VARCHAR (99) NOT NULL,
         [BillTypeID]    VARCHAR (99) NOT NULL,
         [ShopID]        VARCHAR (99) NULL,
         [StockID]       VARCHAR (99) NULL,
         [BoxCount]      INT NULL,
         [Operator]      VARCHAR (99) NULL,
         [PersonnelID]   VARCHAR (99) NULL,
         [Remark]        NVARCHAR (2000) NULL
      );

      --添加聚集索引
      CREATE CLUSTERED INDEX IDX_SD_Inv_BillSign_SignTime
         ON SD_Inv_BillSign (SignTime);

      --添加非聚集索引
      CREATE NONCLUSTERED INDEX IDX_SD_Inv_BillSign_BillNo
         ON SD_Inv_BillSign (CompanyID, BillNo, BillTypeID);

--添加主键
ALTER TABLE SD_Inv_BillSign ADD CONSTRAINT PK_SD_Inv_BillSign   PRIMARY KEY (SignID);
   END
GO
  
  
带输入输出的存储过程的执行示例:  
declare @RetVal int  
exec spCSM_ChangeVipCard 'hk','a',@RetVal output  
select @RetVal  

DECLARE @MaxBatchNo INT = 0;
EXEC spCRM_GetMaxNum @ComCode = @CompanyID, @MaxNum = @MaxBatchNo output
SELECT @MaxBatchNo

1.inner join on  内部连接 两表都满足的组合
2.full outer 全连 两表相同的组合在一起,A表有,B表没有的数据(显示为null),同样B表有,A表没有的显示为(null)
3.A表 left join  B表 左连,以A表为基础,A表的全部数据,B表有的组合。没有的为null
4.A表 right join B表 右连,以B表为基础,B表的全部数据,A表的有的组合。没有的为null
5.cross join : 笛卡尔积



DML(data manipulation language):数据操作语言
包括命令:SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。 

DDL(data definition language):数据定义语言
通常是数据库管理系统的一部分,用于定义数据库的所有特性和属性,尤其是行布局、列定义、键列(有时是选键方法)、文件位置和存储策略。 
包括命令:DROP,CREATE,ALTER,GRANT,REVOKE, TRUNCATE



SQL Server 支持临时表。临时表就是那些名称以井号 (#) 开头的表。如果当用户断开连接时没有除去临时表,SQL Server 将自动除去临时表。临时表不存储在当前数据库内,而是存储在系统数据库 tempdb 内。  
  
临时表有两种类型:    
  
本地临时表    
以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看到这些表。  
  
全局临时表    
以两个井号 (##) 开头的那些表名。在所有连接上都能看到全局临时表。如果在创建全局临时表的连接断开前没有显式地除去这些表,那么只要所有其它任务停止引用它们,这些表即被除去。当创建全局临时表的连接断开后,新的任务不能再引用它们。当前的语句一执行完,任务与表之间的关联即被除去;因此通常情况下,只要创建全局临时表的连接断开,全局临时表即被除去。  

分享到:
评论

相关推荐

    程序员的SQL金典.rar

     11.5 计算字符在字符串中出现的次数  11.6 去除最高分、最低分  11.6.1 去除所有最低、最高值  11.6.2 只去除一个最低、最高值  11.7 与日期相关的应用  11.7.1 计算销售确认日和制单日之间相差的天数  11.7...

    LINQ_to_SQL语法及实例大全

    字符串(String) 51 1.字符 串串联(String Concatenation) 52 2.String.Length 52 3.String.Contains(substring) 52 4.String.IndexOf(substring) 52 5.String.StartsWith (prefix) 53 6.String.EndsWith(suffix) ...

    程序员的SQL金典4-8

     11.5 计算字符在字符串中出现的次数  11.6 去除最高分、最低分  11.6.1 去除所有最低、最高值  11.6.2 只去除一个最低、最高值  11.7 与日期相关的应用  11.7.1 计算销售确认日和制单日之间相差的天数  11.7...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...

    程序员的SQL金典6-8

     11.5 计算字符在字符串中出现的次数  11.6 去除最高分、最低分  11.6.1 去除所有最低、最高值  11.6.2 只去除一个最低、最高值  11.7 与日期相关的应用  11.7.1 计算销售确认日和制单日之间相差的天数  11.7...

    程序员的SQL金典7-8

     11.5 计算字符在字符串中出现的次数  11.6 去除最高分、最低分  11.6.1 去除所有最低、最高值  11.6.2 只去除一个最低、最高值  11.7 与日期相关的应用  11.7.1 计算销售确认日和制单日之间相差的天数  11.7...

    程序员的SQL金典3-8

     11.5 计算字符在字符串中出现的次数  11.6 去除最高分、最低分  11.6.1 去除所有最低、最高值  11.6.2 只去除一个最低、最高值  11.7 与日期相关的应用  11.7.1 计算销售确认日和制单日之间相差的天数  11.7...

    SQL培训第一期

    1 SQL基础 1.1 基本概念 结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行...

    经典SQL语句大全

    一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', '...

    sql2005全文检索.doc

    利用 MSFESQL 服务,SQL Server 可超出 SQL 标准对字符串列执行更为复杂的搜索。  MSFTESQL 服务担当了以下角色:  索引支持  MSFTESQL 实现了为数据库定义的全文目录和索引。  查询支持  MSFTESQL 可处理...

    2009达内SQL学习笔记

    (单引号,引起字符串;双引号,引起别名。起别名有符号,或者区分大小写时,必须用双引号) 多表查询时,可给表起别名。(给列起别名,列<空格>列别名;给表起别名,表<空格>表别名;)。 如:Select first_name ...

    经典全面的SQL语句大全

    代替过长的字符串显示  语法:  SQL数据库:select case when len(field)>10 then left(field,10)+'...' else field end as news_name,news_id from tablename  Access数据库:SELECT iif(len(field)>2,left...

    sql经典语句一部分

    一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', '...

    数据库和ado知识

    数据库连接字符串 SqlConnection类的State属性 SqlCommand类的方法: StatementCompleted事件的触发 获得刚刚插入数据库的自增id Sql注入攻击(避免方式?) 如何使用迭代生成树形菜单 单例模式(单例模式的创建) ...

    数据库操作语句大全(sql)

    13、说明:一条sql 语句搞定数据库分页 select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段 具体实现: ...

    PHP程序开发范例宝典III

    实例115 验证字符串是否以指定字符串开头 172 实例116 验证身份证号码 174 实例117 验证护照编号 175 实例118 验证车牌号码 176 4.4 自定义验证 177 实例119 验证合法的数据表名称 178 实例120 验证...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    MySQL5 权威指南第3版中文版_part1

     15.5 字符串、日期、时间、BLOB和NULL  15.6 向关联数据表插入新数据记录  15.7 处理来自HTML表单的输入数据  15.8 分页显示查询结果  15.9 处理层次化数据  15.10 速度优化  15.11 Unicode  15.12 二进制...

    仿世纪佳缘婚介交友系统5.3 ASP+SQL

    仿世纪佳缘婚介交友系统5.3 ASP+SQL Nslove5使用手册 一、运行环境: 1、服务器要求:windows2000及更高系统版本,IIS5+以上! 2、组件要求:Jmail邮件组件、aspjpeg水印组件、上传组件(aspupload组件)、FSO...

Global site tag (gtag.js) - Google Analytics