`
zheyiw
  • 浏览: 1016498 次
  • 性别: 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_sql_

    11. **函数和表达式**:SQL支持多种内置函数,如`DATE_FORMAT`(日期格式化)、`CONCAT`(字符串连接)、`IFNULL`(如果值为NULL则替换)等,以及数学和逻辑表达式。 12. **别名**:使用`AS`关键字可以为列或表设定...

    case0705_sqlserver_

    1. **SQL Server基础知识**: - 数据库概念:SQL Server是关系型数据库管理系统(RDBMS),存储和管理结构化的数据。 - 数据库对象:如表、视图、索引、存储过程、触发器等,是数据库中的基本组件。 - T-SQL...

    SQL基础教程-Mick-示例程序&习题答案

    - 数据类型:SQL支持多种数据类型,如整数(INT)、实数(FLOAT或REAL)、字符串(VARCHAR或CHAR)、日期时间(DATE、TIME、DATETIME)等。 - 表的创建与删除:CREATE TABLE语句用于创建新表,DROP TABLE语句用于...

    SQL培训 :日期类型+ 常用函数、空值处理、分页语句+多表关联(自用)

    在SQL(Structured Query Language)中,日期类型和常用的函数、空值处理、分页语句以及多表关联是数据库操作的基础且重要的知识点。下面将详细阐述这些内容。 1. **日期类型** SQL中的日期时间类型包括DATE、TIME...

    SQL_chapter4_new.rar

    8. **函数与运算符**:SQL包含各种内置函数,如字符串函数、日期/时间函数、数学函数等,以及各种运算符,如算术运算符、字符串运算符和位运算符。 9. **视图(View)**:视图是虚拟表,由一个或多个查询结果组成,...

    SQL 21日自学通.zip_SQL_Server_SQL__SQL_Server_SQL_

    1. **SQL基础**:了解SQL的基本语法,包括数据类型(如整型、字符串、日期/时间等)、数据操作(INSERT、UPDATE、DELETE)以及数据查询(SELECT语句)。理解如何创建、修改和删除表,以及如何定义主键和外键来建立表...

    sql_help.rar_Help!

    2. 数据类型:SQL支持多种数据类型,如数值型(INT、DECIMAL)、字符串型(VARCHAR、CHAR)、日期时间型(DATE、DATETIME)等,用于存储不同类型的值。 3. 数据库操作:创建(CREATE DATABASE/CREATE TABLE)、删除...

    sql语句大全_SQL基本语句_

    SQL支持多种数据类型,包括数值型(如INT、FLOAT)、字符串型(VARCHAR、CHAR)、日期/时间型(DATE、TIME、DATETIME)以及布尔型(BOOLEAN)。理解数据类型对于创建表和处理数据至关重要。 二、数据库操作 1. 创建...

    sql的分页处理,海量数据的提取效率分析

    为了进一步提升效率,我们可以考虑在创建表时设计更合理的数据结构,如使用XML或JSON类型存储多值字段(如`reader`),这样在查询时可以减少字符串操作,提高效率。 总结来说,面对海量数据,SQL的分页处理需要结合...

    SQL基础教材.rar

    3. **数据类型**:介绍SQL中的基本数据类型,如整型(INTEGER)、浮点型(FLOAT)、字符串(VARCHAR)、日期/时间类型(DATE/TIME)等。 4. **查询语句**:详述SELECT语句的使用,包括选择列(SELECT)、从表中选择...

    PL-SQL_Oracle教程[收集].pdf

    NESTRING函数在Oracle中用于字符串处理,可能用于将字符数组转换为单个字符串,或者在特定分隔符下拆分字符串。 这些是PL/SQL和Oracle教程中的基础概念,对于软件开发人员来说,理解和掌握这些内容是至关重要的,...

    sql高级进阶

    这些知识点构成了SQL高级进阶学习的完整体系,覆盖了数据查询、数据处理、多表操作、字符串和数值处理、日期时间函数、报表和数据仓库分析、以及分层查询等多个领域,为数据库管理和数据分析提供了全面的工具和方法...

    《SQL 基础教程(第二版)》 电子版

    3. **数据类型**:了解SQL支持的各种数据类型,如整数、浮点数、字符串、日期/时间等,是编写有效查询的基础。 4. **查询语句SELECT**:这是SQL中最常用的语句,用于从数据库中检索数据。学习如何使用SELECT语句...

    SQL数据库查询语句基础文本——可复制的查询语句

    SQL提供了许多内置函数,如字符串处理、日期时间操作等: ```sql SELECT UPPER(column1), DATE_ADD(date_column, INTERVAL 1 DAY) FROM table_name; ``` 10. **视图创建** 视图是虚拟表,基于一个或多个表的...

    《Microsoft SQL Server 2005技术内幕:T-SQL查询》示例代码

    9. **动态SQL**:使用EXEC或sp_executesql执行字符串形式的SQL命令,这在构建灵活的查询和处理不确定结构时非常有用。 10. **性能优化**:学习如何通过索引、查询优化器、查询提示和统计信息来提升查询性能,以及...

    what a good day of today

    总的来说,这些文件覆盖了SQL中的多个关键概念,包括存储过程、分页、字符串处理、联合查询、多表统计、日期比较、层级数据处理和性能优化等。这些都是数据库开发和管理中的核心技能,对于任何数据库管理员或SQL...

    Go-sqrl-SQL查询构建器Squirrel的分支并改进了性能

    Squirrel是一个静态类型的SQL构造库,它允许开发者以一种类型安全的方式构建SQL查询,避免了字符串拼接导致的潜在错误。Go-sqrl在Squirrel的基础上,通过优化内部实现,提升了查询构建和执行的速度,这对于大数据...

    常用sql语句汇总

    - `SELECT`:这是SQL中最基础的语句,用于从表中检索数据。例如,`SELECT * FROM table_name;` 可以获取表中的所有列。 - `WHERE`:用于设定查询条件,如 `SELECT * FROM table_name WHERE column_name = value;` ...

    程序员的SQL金典.rar

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

    SQL集锦(好的SQL语句)

    13. **数据类型**:SQL有多种数据类型,如整型(INTEGER)、浮点型(FLOAT)、字符串(VARCHAR)、日期/时间(DATE/TIME)、二进制(BLOB)等,用于存储不同类型的值。 14. **安全性**:SQL提供了权限管理,如GRANT...

Global site tag (gtag.js) - Google Analytics