转自:http://www.maomao365.com/?p=7205 摘要: 下文分享两条sql求和脚本,再次求和的方法分享 /* 例: 下文已知两条sql求和脚本,现需对两张不同表的求和记录再次求和 */ ---对两条求和sql脚本求和的方法 select sum(q) from ( select sum(qty) as q from tableNameA where ... union all select sum(qty) as q from tableNameB where ... )…
摘要: 下文讲述五种运行sql脚本的方法,如下所示: 实验环境:sql server 2008 R2 在一次会议讨论中,大家咨询我使用SSMS运行sql脚本的方法,下文我将依次举例讲述sql脚本的运行方法,如下所示: 1.选中待运行sql脚本,按快捷键"F5" 2.选中待运行sql脚本,点击右键,选中"执行" 3.选中待运行sql脚本,按工具栏中的运行图标 4.选中待运行sql脚本,依次点击"查询"-->"!执行" 5.…
转自: http://www.maomao365.com/?p=9336 摘要: 下文讲述mssql中时间戳和时间格式的转换方法,如下所示: 实验环境:sql server 2008 R2 时间戳简介:时间戳是linux下一种表示时间的方式. 时间戳是从 从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数.时间戳被广泛用于各种操作系统中.时间戳转换为时间格式的方法: 使用dateadd时间函数,将9170-1-1 0:00:00加上时间戳所对应的秒数,就是时间戳所表示的时间…
转自:http://www.maomao365.com/?p=6421 摘要: 下文讲述计算汉字笔画数的sql函数分享,如下所示: 例:建立汉字笔画数sql函数 )) returns int as begin return( then( id from( ,ch=N'亅' ,N'阝' ,N'马' ,N'风' ,N'龙' ,N'齐' ,N'龟' ,N'齿' ,N'鸩' ,N'龀' ,N'龛' ,N'龂' ,N'龆' ,N'龈' ,N'龊' ,N'龍' ,N'龠' ,N'龎' ,N'龐' ,N'龑'…
摘要: 下文讲述将"sql数值型"类型数值转换为指定小数位的数据 方法1:采用 cast 方式转换数值类型至指定小数位: ,) set @a = 18.893 ,) 方法2:采用 convert 方式转换数值类型至指定小数位: ,) set @a = 18.893 ,),@a) 参阅:http://www.maomao365.com/?p=6220…
NetCore中将SQLServer数据库备份为Sql脚本 描述: 最近写项目收到了一个需求, 就是将SQL Server数据库备份为Sql脚本, 如果是My Sql之类的还好说, 但是在网上搜了一大堆, 全是教你怎么操作SSMS的, 就很d疼! 解决方案: 通过各种查找资料, 还有一些老哥的帮助, 找到了解决方案: 通过Microsoft.SqlServer.Management.Smo, Microsoft.SqlServer.Management.Sdk.Sfc, Microsoft.Sq…
摘要: 在sqlserver维护中,我们偶尔需要运行一些sql脚本对数据进行相关修改操作,在数据修改前我们必须对表数据进行备份来避免出现异常时,可以快速修复数据, 下文讲述sqlserver维护中,快速备份表和表还原的方法,如下所示: 实验环境:sql server 2008 R2 ---例:快速备份表 saleDetail ---使用select into 可以快速创建表并将表数据同时插入新建表中 select * into [saleDetail_20181012] from [saleDe…
首先声明,本人所有博客均为原创,谢绝转载! 今天接到一个需求,如下 这里解释一下,为什么是几十条,因为这里面每个公式的每个条件都是一个单独的数据如净利润就是一条sql语句,而且分散在不同的表,如果此方法按照常规方法来做,为了与指标名称对应的话,那么我们就必须要一个条件一个条件的去查,然后再进行计算. 但是这样就出现了一个问题,大家都知道,在程序里,在不出现死锁的情况下,本地运行的代码其实并不耗多少时间,真正耗时间的是那些需要远程通信的,因为有一个通信时间,而我们查数据库就是一个远程通信的过程.所…
scptxfr.exe的路径要正确declare @cMd varchar(1000)set @cmd = 'master.dbo.xp_cmdshell ' + '''c:\"Microsoft ' +'SQL Server"' +'\MSSQL\Upgrade\scptxfr.exe ' +' /s YourServerName /p YourSAPassword /I /d YourDBName /f ' +'c:\YourDBName.sql'''exec (@cmd)工具参数…
备份 USE master go ),); set @path='d:\backup\'; set @name=@path+'TsDb.bak'; Backup database TsDb To disk= @name With init --完整覆盖备份 还原 RESTORE DATABASE TsDb_N FROM DISK = 'D:\DB\TsDb.bak' --bak文件路径 with replace, MOVE 'TsDb' TO 'E:\DB\TsDb_N.mdf', --mdf保…
如果执行线上项目拷下来sqlserver的.sql的数据库脚本文件,如果文件较大时,那么就会报错内存不足之类的. 这时可以在命令提示符使用命令来执行脚本文件.切记,执行前先改一下数据库存放位置! 命令:osql -S . ,1433 -U sa -P 123 -i C:\Users\Cheng\Desktop\sqlScript\sqlScript.sql 如果提示不支持osql,那么把osql改成sqlcmd.…
转自:http://www.maomao365.com/?p=6410 摘要: 下文主要分享从指定字符串或列中获取数字信息,如下所示: 实验环境:sql server 2000 ----编写sql函数 )) ) as begin begin , ''); end; return @tmp; end go ----测试sql函数 SELECT dbo.getShuZi('猫猫小屋maomao365.com-sql教程专用网站') go drop function dbo.getShuZi go…
摘要: 下文将详细讲述sql server 索引的相关知识,如下所示: 实验环境: sql server 2008 R2 sqlserver索引简介: mssql sqlsever 索引分类简介 mssql sqlserver xml索引简介说明 MSSQL 视图索引简介 MSSQL 筛选索引创建和作用(带条件的索引) mssql sqlserver 索引创建方法 mssql sqlserver 创建索引的方法分享 MSSQL sqlserver 使用sql脚本为计算列创建索引的方法分享 mss…
摘要: 下文将详细讲述sql server xml数据类型的相关知识,如下所示: 实验环境: sql server 2008 R2 xml数据类型简介: mssql sqlserver xml数据类型简介 mssql sqlserver xml数据类型简介 xml数据类型的生成方法: mssql sqlserver for xml (auto.raw .path.explicit) 四种模式的应用说明 mssql sqlserver for xml EXPLICIT 用法详解说明 mssql s…
同事给我一个sqlserver的学习库,sql脚本导出有300m,gui执行有内存溢出的错误报出来,所以问了一下度娘,学而时习之:) 1. SQL server2008 导入超大SQL脚本文件(超过10M): 2. 采用SQLManagement 查询工具不能打开,所以使用osql在doc命令下执行: 3. osql 用法: 4. 执行SQL脚本文件.-S:sqlserver服务器名称 -U:数据库登陆账号 -P:数据库登陆密码 -i:sql 脚本文件的路径 5. 如果想将运行结果定向到一个文件…
Navicat 导入sql脚本文件 我在组建自己工作用的数据库时要导入.sql脚本文件,用cmd窗口导入太慢,navicat的导入向导里又无导入sql脚本的选项, 但不是navicat中没有导入sql脚本文件的方法,只是要选择数据库右击执行sql脚本文件便可以快速导入sql脚本的数据.主要操作步骤如下: 选择要导入的目标数据库 点击数据库右击弹出下拉菜单 3.选择执行SQL文件 4.弹出对话框选择文件目录 5.选择要导入的.sql文件 6.点击[开始]按钮开始导入 7.关闭对话框完成导入 …
摘要: 下文讲述使用sql脚本实现相邻两条数据相减的方法,如下所示: 实验环境:sql server 2008 R2 实现思路: 1.使用cte表达式,对当前表进行重新编号 2.使用左连接对 表达式 生成的临时表进行错位连接,并对生成的新纪录中两列进行相减 ),qty int); go ----生成基础数据 insert into [maomao365](sort, qty)values (),(), (),(), (),() go with cte_temp as ( select row_n…
摘要: 下文讲述使用sql脚本,获取群组后记录的第一条数据业务场景说明: 学校教务处要求统计: 每次作业,最早提交的学生名单下文通过举例的方式,记录此次脚本编写方法,方便以后备查,如下所示: 实现思路: 使用开窗函数,对数据进行分组并按照提交时间进行排序后生成新的组内编号,如下所示: /* over开窗函数中 partition by分组 order by 排序 */ create table test(keyId int identity, keChengName ), name ), inD…
原文地址:http://www.maomao365.com/?p=7335 摘要:    数据表中,有一列是自动流水号,由于各种操作异常原因(或者插入失败),此列数据会变的不连续,下文将讲述使用sql脚本的方式获取数据表中的数据是否连续的方法分享,如下所示:    实验环境:sqlserver 2008 R2   例:获取表test中keyId是否为连续的数据 实现思路:  1.采用row_number 对表test重新生成流水号  2.采用with as (cte)表达式将重新生成流水号的表放…
摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008 实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启约束 CREATE PROCEDURE proc_deleteDateSql /* 生成清除数据库表数据的脚本方法分享 */ AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' EXEC sp_MSForEachTable…
转自:http://www.maomao365.com/?p=6679 摘要: 下文将分享使用sql脚本输出交替变换的不同背景颜色的sql脚本的方法分享,如下所示: 实验环境:sqlserver 2008 R2 例: 下文 首先采用 over() row_number 函数生成的行编号, 然后对每行进行颜色变化操作,生成不同的背景色,如下所示: )) go ,'测试信息20180625-1') ,'测试信息20180626-2') ,'测试信息20180628-3') ,'测试信息2018062…
摘自:http://www.maomao365.com/?p=6612 摘要:下文介绍sql server中,sql脚本避免出现除零错误的方法分享 在各种业务系统开发中,通常会遇到除零的错误,下文分享了两种处理方法:方法1: case when end declare @a int ---分子 declare @b int ---分母 then NULL else @a/@b end as [a除以b] 方法2:nullifnullif(表达式A,表达式B)—-如果表达式A不等于表达式B,则返回…
创建数据库方法有两种 第一种通过图形化的操作界面 第二种通过 sql 语句 sql server 如何执行.sql 文件,的原理就是执行sql语句进行创建 打开数据库后找到   最左侧文件 找到需要执行的sql 脚本双击打开 打开后点击     执行进行创建数据库 创建好之后 通过sql 语言命令的方式创建数据库 use master go if exists(select * from sysdatabases where name='test123') begin select '该数据库已…
默认连接mysql的时候一次只能执行一条sql.要批量执行sql需要在jdbcUrl中增加“allowMultiQueries=true”参数,完整jdbcUrl如下:  jdbc:mysql://localhost/database1?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true 使用此连接串后,才能一次批量执行上面的多条sql.此方法简单,对程序改动小.   另外还有一种方法,就是在程序中对SQL语句以分号拆…
SQLServer比较两条数据是否相同 直接比较可能会一个一个字段的比较,也可以将多个字段拼成一个串然后比较,这里有个hash值比较的方法,很好用 用法 将需要的比较的column放进去,逗号隔开,只要保证包含相同的column,顺序无关,因为这个是hash值的和. select HashText = checksum( Q.FName , Q.LName , Q.MName , Q.Address1 , Q.Address2 , Q.City , Q.State , Q.Zip) from M…
最近很多同学问到一个问题,如何将MSSQLServer的数据库以及里面的数据导出为SQL脚本,主要问的是MSSQLServer2000和2005,因为2008的管理器已经有了这个功能,2000和2005则没有. 上网查了一下,有用命令什么的,这里介绍一个相对简单易操作的方法: 需要借助一个工具----Navicat Premium Navicat Premium一个很强大的数据库管理工具,可以连线到 MySQL.SQLite.Oracle SQLSERVER.及 PostgreSQL 等等,购买…
不啰嗦,直接上图,大概实现效果如下: 有上面这样一份数据,将他们按照userAccount和submitTime进行分组,然后提前每组数据的前两条记录 提取后数据如下: 实现的SQL如下: select t.* from (select *,row_number() over(partition by userAccount, submitTime order by submitTime) rn from demoTable) t @_@! 结束啦~~…
原文:SQLServer 分组查询相邻两条记录的时间差 首先,我们通过数据库中表的两条记录来引出问题,如下图 以上为一个记录操作记录的表数据.OrderID为自增长列,后面依次为操作类型,操作时间,操作人. 现在的问题是:要求筛选出数据库中从“接收”到“送出”的时间差超过2天的全部记录.即如上图两笔单据中,红色框既是要筛选出的,绿色框为正常过滤的. 为了定位相邻记录,方法为给查询语句的返回记录加个自动编号列放入临时表中,再对临时表进行操作. --1.首先查出表中符合條件的所有信息 ,) as O…
史上最全近百条Oracle DBA日常维护SQL脚本指令 https://mp.weixin.qq.com/s?__biz=MjM5MDAxOTk2MQ==&mid=2650281305&idx=1&sn=0acc5cd128667d9bd21eabd90bfcc90d&chksm=be478d4f893004596a9c203d43184f7aa74f64955f9f3659dc206a06233a6fdd2c3217d49958&mpshare=1&sc…
在SQLServer中主外键是什么,以及主外键如何创建,在这里就不说了,不懂的可以点击这里,这篇文章也是博客园的博友写的,我觉得总结的很好: 此篇文章主要介绍通过SQL脚本来查看Sqlserver中主外键关系: SELECT f.name AS '关系名称', OBJECT_NAME(f.parent_object_id) AS '表名称', COL_NAME(fc.parent_object_id,fc.parent_column_id) AS '字段名称', OBJECT_NAME (f.r…