
SQL Server 语句实现
文章平均质量分 95
huang714
不断的学习,充实自己。
展开
-
Sqlserver清理缓存和内存
--清除存储过程缓存 DBCC FREEPROCCACHE --清除会话缓存 DBCC FREESESSIONCACHE --清除系统缓存 DBCC FREESYSTEMCACHE('All') --清除所有缓存 DBCC DROPCLEANBUFFERSGO --打开高级配置 exec sp_configure'show advanced options', 1 GO--设置最大内存MB 2Gexec sp_configure 'max server memory', 2.原创 2020-08-06 15:44:16 · 562 阅读 · 0 评论 -
SQL时间戳
--临时表CREATE TABLE #tmp (id INT,testtime timestamp)--插入记录INSERT INTO #tmp ( id )VALUES ( 1 )SELECT * FROM #tmp--时间戳转intSELECT CAST(testtime AS INT) FROM #tmpSELECT CAST(CAST(testtime AS INT) AS TIMESTAMP) FROM #tmpDROP TABLE #tm...原创 2020-07-10 11:23:43 · 2427 阅读 · 0 评论 -
sql 添加时间段内随机时间
DECLARE @dt1 DATETIME,@dt2 DATETIME,@a BIGINT,@b BIGINTSET @dt1='2010-01-01'--開始日期SET @dt2='2010-06-30'--結束日期 SELECT @a=CAST(@dt1 AS BIGINT),@b=CAST(@dt2-@dt1 AS BIGINT) DECLARE @t TABLE(ID INT,dt datetime) DECLARE @i INTSET @i=0 WHILE @i<10.原创 2020-07-06 10:12:25 · 4246 阅读 · 0 评论 -
SQL Server的数据加密简介
背景有时候,我们还真的会碰到这样的需求:防止开发人员获取到敏感数据。也许你觉得很简单,把开发和运营分开不就可以了吗?是的,如果公司有专门的运营团队的话,但对于很多小公司来说,几个人的开发团队就兼顾了需求分析、设计、开发、测试、调试、部署和运营了,数据库密码知道,程序代码全有,怎么办?——必须对数据库里的数据进行加密,这是唯一的办法。也许你还是不明白,什么东西需要瞒着我们了不起的程序员,好吧,我直说了:工资!假如你的公司让你做一个工资系统,你会不会有这方面的顾虑,一旦工资信息被公开,后果必定是很严重的原创 2020-06-11 13:49:33 · 923 阅读 · 0 评论 -
基础SQL语句
一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server---创建 备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份BACKUP DATABASE pubs TO testBack4、说明:创建新表cre...原创 2020-06-09 15:00:04 · 233 阅读 · 0 评论 -
经典sql语句大全查询
一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server---创建 备份数据的deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'---开始 备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create ta...原创 2020-06-09 14:58:15 · 658 阅读 · 0 评论 -
SQL Server 常用SQL语句(收藏版)
1. sqlserver查看实例级别的信息,使用SERVERPROPERTY函数select SERVERPROPERTY ('propertyname')2. 查看实例级别的某个参数XX的配置select * from sys.configurations where name='XX'3. 更改实例级别的某个参数XX的值sp_configure 'XX','0' RECONFIGURE WITH OVERRIDEsp_configure显示或更改当前服务器的全局配置设置。原创 2020-06-09 14:32:31 · 4043 阅读 · 0 评论 -
sqlserver 查询某个表/库的列名称、说明、备注、类型等
库语句:/************************************************************ * Code formatted by SoftTree SQL Assistant ?v5.0.97 * Time: 2020/3/24 8:50:02 **************************************************...原创 2020-03-25 10:54:24 · 1249 阅读 · 0 评论 -
Oracle,SQL Server 数据库较MySql数据库,Sql语句差异
1.关系型数据库百度百科关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。 关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。简单说,关系型数据库是由多张能互相联接的二维行列...原创 2020-03-25 10:56:29 · 404 阅读 · 0 评论 -
3.调整tempdb数据库的文件属性
--A. 将tempdb数据库的主数据文件大小设置为10MB。ALTER DATABASE tempdbMODIFY FILE( name=tempdev, size=100 MB)GO--B. 将tempdb数据库的主数据文件移动到指定的磁盘分区上,并且为其添加一个数据文件。--移动主数据文件ALTER DATABASE tempdb MODIFY FILE ( NAME...原创 2019-02-22 08:58:37 · 578 阅读 · 0 评论 -
2.使用文件及文件组
/*--功能说明 下面的代码是在SQL Server 2000上创建名为 MyDB 的数据库 该数据库包括1个主要数据文件、3个用户定义的文件组和1个日志文件 ALTER DATABASE语句将用户定义文件组指定为默认文件组。 之后,通过指默认的文件组来创建表,并且将图像数据和索引放到指定的文件组中。 最后,将文件组中的指定数据文件删除--*/--切换到 master 数据库...原创 2019-02-22 08:56:34 · 495 阅读 · 0 评论 -
1.设置内存选项
--设置 min server memory 配置项EXEC sp_configure N'min server memory (MB)', 0--设置 max server memory 配置项EXEC sp_configure N'max server memory (MB)', 256--使更新生效RECONFIGURE WITH OVERRIDE...原创 2019-02-22 08:55:34 · 254 阅读 · 1 评论 -
4.日期推算处理
DECLARE @dt datetimeSET @dt=GETDATE()DECLARE @number intSET @number=3--1.指定日期该年的第一天或最后一天--A. 年的第一天SELECT CONVERT(char(5),@dt,120)+'1-1'--B. 年的最后一天SELECT CONVERT(char(5),@dt,120)+'12-31'...原创 2019-02-22 09:00:47 · 496 阅读 · 0 评论 -
5.特殊日期加减函数
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_DateADD]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[f_DateADD]GO/*--特殊日期加减函数 对于日期指定部分的加减,使用DATEADD函数就可以轻松...原创 2019-02-22 09:02:01 · 426 阅读 · 0 评论 -
6.日期概念理解中的一些测试
--A. 测试 datetime 精度问题DECLARE @t TABLE(date char(21))INSERT @t SELECT '1900-1-1 00:00:00.000'INSERT @t SELECT '1900-1-1 00:00:00.001'INSERT @t SELECT '1900-1-1 00:00:00.009'INSERT @t SELECT '1900...原创 2019-02-22 09:02:56 · 132 阅读 · 0 评论 -
7.查询指定日期段的人员
--测试数据DECLARE @t TABLE(ID int,Name varchar(10),Birthday datetime)INSERT @t SELECT 1,'aa','1999-01-01'UNION ALL SELECT 2,'bb','1996-02-29'UNION ALL SELECT 3,'bb','1934-03-01'UNION ALL SELECT 4,'b...原创 2019-02-22 09:03:49 · 299 阅读 · 0 评论 -
8.生成日期列表的函数
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_getdate]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[f_getdate]GO/*--生成日期列表 生成指定年份的工作日/休息日列表*//*--调用示例...原创 2019-02-22 09:04:30 · 391 阅读 · 0 评论 -
45.生成字母随机编码的案例(大小混编)
--取得随机数的视图CREATE VIEW v_RANDASSELECT re=STUFF(RAND(),1,2,'')GO--生成随机编号的函数CREATE FUNCTION f_RANDBH(@BHLen int)RETURNS varchar(50)ASBEGIN DECLARE @r varchar(50) IF NOT(ISNULL(@BHLen,0) BETW...原创 2019-03-04 08:59:49 · 187 阅读 · 0 评论 -
46.SETIDENTTY _INSERT 的及个问题
--1. 会话中某个表已将此属性设置为ON,当为另一个表发出了SET IDENTITY_INSERT ON 句时将出错--测试的表CREATE TABLE ta(id int IDENTITY(1,1),col int)CREATE TABLE tb(id int IDENTITY(1,1),col int)GO--设置 IDENTITY_INSERT 属性SET IDENTITY...原创 2019-03-05 08:51:26 · 188 阅读 · 0 评论 -
47.融合了补号处理的流水号编号处理
--1.融合了补号处理的流水号编号处理--下面是使用补号法生成流水编号的用户定义函数,生成的编号总长度为8位,以BH开头,其余6位为流水号。--得到新编号的函数CREATE FUNCTION f_NextBH()RETURNS char(8)ASBEGIN DECLARE @r char(8) SELECT @r='BH'+RIGHT(1000001+MIN(BH),6)...原创 2019-03-04 09:00:01 · 257 阅读 · 0 评论 -
48.标识与普通列转换的案例
--创建测试表CREATE TABLE t1(ID int IDENTITY,A int)GO--插入记录INSERT t1 VALUES(1)GO--1. 将IDENTITY(标识)列变为普通列ALTER TABLE t1 ADD ID_temp intGOUPDATE t1 SET ID_temp=IDALTER TABLE t1 DROP COLUMN IDEXE...原创 2019-03-04 09:00:08 · 129 阅读 · 0 评论 -
49.使用临时表进行编号重排的处理案例
--测试资料CREATE TABLE tb(ID1 char(2) NOT NULL,ID2 char(4) NOT NULL,col int,PRIMARY KEY(ID1,ID2))INSERT tb SELECT 'aa','0001',1UNION ALL SELECT 'aa','0003',2UNION ALL SELECT 'aa','0004',3UNION A...原创 2019-03-04 09:00:13 · 135 阅读 · 0 评论 -
50.修改标识的案例
--测试资料CREATE TABLE t1(ID int IDENTITY,A int)INSERT t1 VALUES(1)INSERT t1 VALUES(2)INSERT t1 VALUES(3)DELETE FROM t1 WHERE A=2GO--将ID=3的记录的ID值改为2SET IDENTITY_INSERT t1 ONINSERT t1(ID,A) SELE...原创 2019-03-04 09:00:18 · 139 阅读 · 0 评论 -
51.使用子查询进行编号重排的处理案例
--测试资料CREATE TABLE tb(ID1 char(2) NOT NULL,ID2 char(4) NOT NULL,col int,PRIMARY KEY(ID1,ID2))INSERT tb SELECT 'aa','0001',1UNION ALL SELECT 'aa','0003',2UNION ALL SELECT 'aa','0004',3UNION A...原创 2019-03-04 09:00:27 · 152 阅读 · 0 评论 -
52.查表法生成流水号的案例
--下面的代码生成长度为8的编号,编号以BH开头,其余6位为流水号。--得到新编号的函数CREATE FUNCTION f_NextBH()RETURNS char(8)ASBEGIN RETURN(SELECT 'BH'+RIGHT(1000001+ISNULL(RIGHT(MAX(BH),6),0),6) FROM tb WITH(XLOCK,PAGLOCK))ENDGO...原创 2019-03-04 09:00:32 · 244 阅读 · 0 评论 -
53.名词查询的处理案例
--示例数据CREATE TABLE tb(Name varchar(10),Score decimal(10,2))INSERT tb SELECT 'aa',99UNION ALL SELECT 'bb',56UNION ALL SELECT 'cc',56UNION ALL SELECT 'dd',77UNION ALL SELECT 'ee',78UNION ALL SEL...原创 2019-03-04 09:00:40 · 221 阅读 · 0 评论 -
54.查表法按日期生成流水号的案例
--以下代码生成的编号长度为12,前6位为日期信息,格式为YYMMDD,后6位为流水号。--创建得到当前日期的视图CREATE VIEW v_GetDateASSELECT dt=CONVERT(CHAR(6),GETDATE(),12)GO--得到新编号的函数CREATE FUNCTION f_NextBH()RETURNS char(12)ASBEGIN DECLAR...原创 2019-03-04 09:00:45 · 320 阅读 · 0 评论 -
55.使用编号表生成流水号的案例
--编号表CREATE TABLE tb_NO(Name char(2) PRIMARY KEY, --编号种类的名称Head nvarchar(10) NOT NULL DEFAULT '', --编号的前缀CurrentNo int NOT NULL DEFAULT 0, --当前编号BHLen int NOT NULL DEFAULT 6...原创 2019-03-05 08:51:33 · 194 阅读 · 0 评论 -
56.使用编号表按日期生成刘少的案例
--编号表CREATE TABLE tb_NO(Name char(2) NOT NULL, --编号种类的名称Days int NOT NULL, --保存的是该种编号那一天的当前编号Head nvarchar(10) NOT NULL DEFAULT '', --编号的前缀CurrentNo int NOT N...原创 2019-03-04 09:00:59 · 152 阅读 · 0 评论 -
57.生成数字随机编号的案例
--取得随机数的视图CREATE VIEW v_RANDASSELECT re=STUFF(RAND(),1,2,'')GO--生成随机编号的函数CREATE FUNCTION f_RANDBH(@BHLen int)RETURNS varchar(50)ASBEGIN DECLARE @r varchar(50) IF NOT(ISNULL(@BHLen,0) BETW...原创 2019-03-05 08:51:38 · 191 阅读 · 0 评论 -
58.使用UPDATE进行编号重排序的处理案例
--测试资料CREATE TABLE tb(ID1 char(2) NOT NULL,ID2 char(4) NOT NULL,col int,PRIMARY KEY(ID1,ID2))INSERT tb SELECT 'aa','0001',1UNION ALL SELECT 'aa','0003',2UNION ALL SELECT 'aa','0004',3UNION A...原创 2019-03-05 08:51:44 · 254 阅读 · 0 评论 -
59.生成字母随机编码的案例(仅大小或者小写)
--取得随机数的视图CREATE VIEW v_RANDASSELECT re=STUFF(RAND(),1,2,'')GO--生成随机编号的函数CREATE FUNCTION f_RANDBH(@BHLen int)RETURNS varchar(50)ASBEGIN DECLARE @r varchar(50) IF NOT(ISNULL(@BHLen,0) BETW...原创 2019-03-05 08:51:51 · 154 阅读 · 0 评论 -
60.查询应用编号分布情况的案例(临时表法)
--测试数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',2UNION ALL SELECT 'a',3UNION ALL SELECT 'a',6UNION ALL SELECT 'a',7UNION ALL SELECT 'a',8UNION ALL SELECT 'b',3UNION ALL S...原创 2019-03-05 08:51:57 · 111 阅读 · 0 评论 -
61.查询应用编号分布情况的案例(子表询法)
--测试数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',2UNION ALL SELECT 'a',3UNION ALL SELECT 'a',6UNION ALL SELECT 'a',7UNION ALL SELECT 'a',8UNION ALL SELECT 'b',3UNION ALL S...原创 2019-03-05 08:52:04 · 116 阅读 · 0 评论 -
62.查询缺号分布情况的案例
--测试数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',2UNION ALL SELECT 'a',3UNION ALL SELECT 'a',6UNION ALL SELECT 'a',7UNION ALL SELECT 'a',8UNION ALL SELECT 'b',1UNION ALL S...原创 2019-03-05 08:52:12 · 143 阅读 · 0 评论 -
63.返回应用编号、缺号分布字符串的处理案例
--生成已用编号分布字符串的函数CREATE FUNCTION f_GetStrSeries(@col1 varchar(10))RETURNS varchar(8000)ASBEGIN DECLARE @re varchar(8000),@pid int SELECT @re='',@pid=-1 SELECT @re=CASE WHEN col2=@pid+1 THEN...原创 2019-03-06 08:52:36 · 114 阅读 · 0 评论 -
64.缺勤天数统计的处理案例
--计算两个日期之间相差的工作天数CREATE FUNCTION f_WorkDateDiff(@dt_begin datetime,@dt_end datetime)RETURNS intASBEGIN DECLARE @workday int,@i int,@bz bit,@dt datetime IF @dt_begin>@dt_end SELECT @bz=1,...原创 2019-03-06 08:52:43 · 367 阅读 · 0 评论 -
64.补位法
--自已做标识列的例子,不自动重排编号,而是自动补号:--创建得到最大id的函数create function f_getid()returns char(3)asbegindeclare @id intif not exists(select 1 from tb where id='001') set @id=1elsebegin select @id=max(id)...原创 2019-03-06 08:52:53 · 374 阅读 · 0 评论 -
66.材料流水号
--自动编号的例子.材料编号=类别编号+流水号--创建自定义函数,得到新的IDcreate function f_getid(@类别编号 varchar(3))returns intasbegin declare @re int select @re=right(id,4) from( select id=max(材料编号) from tb where 类别编号=@类别编号...原创 2019-03-06 08:52:59 · 166 阅读 · 0 评论 -
67.防止重复的案例
--自己做编号,防止冲突的处理--处理示例1(用主键/唯一键)--得到最新编号的函数create function f_newid()returns char(7) --编号位数固定,用char的检索效率高于varcharasbegin declare @re char(7) select @re=max(BHID) from 表 return( case when ...原创 2019-03-06 08:53:11 · 249 阅读 · 0 评论