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 内。
临时表有两种类型:
本地临时表
以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看到这些表。
全局临时表
以两个井号 (##) 开头的那些表名。在所有连接上都能看到全局临时表。如果在创建全局临时表的连接断开前没有显式地除去这些表,那么只要所有其它任务停止引用它们,这些表即被除去。当创建全局临时表的连接断开后,新的任务不能再引用它们。当前的语句一执行完,任务与表之间的关联即被除去;因此通常情况下,只要创建全局临时表的连接断开,全局临时表即被除去。
分享到:
相关推荐
11.5 计算字符在字符串中出现的次数 11.6 去除最高分、最低分 11.6.1 去除所有最低、最高值 11.6.2 只去除一个最低、最高值 11.7 与日期相关的应用 11.7.1 计算销售确认日和制单日之间相差的天数 11.7...
字符串(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) ...
11.5 计算字符在字符串中出现的次数 11.6 去除最高分、最低分 11.6.1 去除所有最低、最高值 11.6.2 只去除一个最低、最高值 11.7 与日期相关的应用 11.7.1 计算销售确认日和制单日之间相差的天数 11.7...
varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...
11.5 计算字符在字符串中出现的次数 11.6 去除最高分、最低分 11.6.1 去除所有最低、最高值 11.6.2 只去除一个最低、最高值 11.7 与日期相关的应用 11.7.1 计算销售确认日和制单日之间相差的天数 11.7...
11.5 计算字符在字符串中出现的次数 11.6 去除最高分、最低分 11.6.1 去除所有最低、最高值 11.6.2 只去除一个最低、最高值 11.7 与日期相关的应用 11.7.1 计算销售确认日和制单日之间相差的天数 11.7...
11.5 计算字符在字符串中出现的次数 11.6 去除最高分、最低分 11.6.1 去除所有最低、最高值 11.6.2 只去除一个最低、最高值 11.7 与日期相关的应用 11.7.1 计算销售确认日和制单日之间相差的天数 11.7...
1 SQL基础 1.1 基本概念 结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行...
一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', '...
利用 MSFESQL 服务,SQL Server 可超出 SQL 标准对字符串列执行更为复杂的搜索。 MSFTESQL 服务担当了以下角色: 索引支持 MSFTESQL 实现了为数据库定义的全文目录和索引。 查询支持 MSFTESQL 可处理...
(单引号,引起字符串;双引号,引起别名。起别名有符号,或者区分大小写时,必须用双引号) 多表查询时,可给表起别名。(给列起别名,列<空格>列别名;给表起别名,表<空格>表别名;)。 如:Select first_name ...
代替过长的字符串显示 语法: 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...
一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', '...
数据库连接字符串 SqlConnection类的State属性 SqlCommand类的方法: StatementCompleted事件的触发 获得刚刚插入数据库的自增id Sql注入攻击(避免方式?) 如何使用迭代生成树形菜单 单例模式(单例模式的创建) ...
13、说明:一条sql 语句搞定数据库分页 select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段 具体实现: ...
实例115 验证字符串是否以指定字符串开头 172 实例116 验证身份证号码 174 实例117 验证护照编号 175 实例118 验证车牌号码 176 4.4 自定义验证 177 实例119 验证合法的数据表名称 178 实例120 验证...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
15.5 字符串、日期、时间、BLOB和NULL 15.6 向关联数据表插入新数据记录 15.7 处理来自HTML表单的输入数据 15.8 分页显示查询结果 15.9 处理层次化数据 15.10 速度优化 15.11 Unicode 15.12 二进制...
仿世纪佳缘婚介交友系统5.3 ASP+SQL Nslove5使用手册 一、运行环境: 1、服务器要求:windows2000及更高系统版本,IIS5+以上! 2、组件要求:Jmail邮件组件、aspjpeg水印组件、上传组件(aspupload组件)、FSO...