SQL Server
文章平均质量分 67
最数据
互联网科技博主 | 独立开发者 | ZuiData
展开
-
SQLServer 查询最近一天,三天,一周,一月,一季度数据的方法
三天 select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdate())>= 0一周 select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, addtime) = DATEPART(yy, GETDATE()))注意:此时不能用转载 2022-05-26 14:53:52 · 4780 阅读 · 0 评论 -
记一次MySQL数据迁移到SQLServer全过程
第一种迁移工具Microsoft SQL Server Migration Assistant for MySQL:推荐这款工具,微软出的,但是也会有些问题,如部分表数据不能完全迁移第二种迁移工具Navicat Premium 12:不推荐,速度慢,极容易失败第三种迁移工具Tapdata:这款也不错,第三方工具,但不稳定,总内存溢出,底层Java写的,需要与客服沟通解决使用中问题,客服响应速度不是很理想转载 2022-05-26 10:08:54 · 789 阅读 · 0 评论 -
sql判断以逗号分隔的字符串中是否包含某个字符串,不是模糊查询
sql语句中,以逗号分隔的字符串中是否包含某个特定字符串,类似于判断一个数组中是否包含某一个元素,例如:判断 ,a,b,c,d,e,f,g,中是否包含 a ,sql语句如何实现?SQL中没有类似VB中的Split的函数。此时,如要匹配 ,6,3,9,22,中的6。可用charindex函数巧妙实现:(注意红色的逗号)charindex( ',' +cast(6 as varchar)+ ',',‘,6,3,9,22,’)>0sqlserver:sqlserver中没有封装好的方法可以实现.原创 2021-04-29 10:32:28 · 6889 阅读 · 0 评论 -
无ldf日志文件附加数据库
--方法一:直接附加,产生新的日志文件USE [master]GOCREATE DATABASE [AdventureWorks2014]ON (FILENAME = N'D:\database\2014\AdventureWorks2014_Data.mdf')FOR ATTACH_REBUILD_LOGGO/*文件激活失败。物理文件名称'D:\database\2014\AdventureWorks2014_Log.ldf'可能不正确。新的日志文件 'D:\database\201.转载 2021-01-09 16:42:47 · 705 阅读 · 0 评论 -
数据库文件.mdf太大的解决方法
在我们使用sql server数据库或者服务器时,有时会发现数据库不到一段时间,占用磁盘空间好大,也有可能是数据的原因,也有可能是其他的原因,但如果说占用绝大部分存储空间,而且数据量又不怎么大,那么,这其中就有问题了。工具/原料 sql server 方法/步骤 首先我们要清楚问题的原因之处; 第一步:打开sql server数据库,数据库右键——属性——文件,在这个文件栏...转载 2020-04-20 17:17:38 · 10089 阅读 · 0 评论 -
改写优化SQL(7):尽量不用count(*)来判断是否有数据
一、首先说一下,判断表里是否有记录,常见的写法(伪代码):定义变量aa = (select count(*) from tb)if a >0 ...else ...这么写是没错,看上去也好理解,就是统计一下tb表中的记录数,然后判断这个记录数是否大于0。可能绝大多数人在实现这个需求的时候,都会这么写。二、接下来,想想这个语句在执行时,会做什么处理...转载 2020-03-06 14:37:37 · 828 阅读 · 0 评论 -
还原数据库,数据库提示正在还原中的处理办法
还原数据库时,提示还原成功,可是数据库列表中该数据库显示正在还原中:执行此命令即可:RESTORE DATABASE EnterPriseBuilding WITH RECOVERY 了解SQLServer脚本之数据库误删数据找回:http://www.cnblogs.com/Leo_wl/p/3614804.html1. 至少有一个误删除之前的数据库完全备份...转载 2018-12-03 17:06:33 · 6737 阅读 · 0 评论 -
sql server2008如何创建外键
以前创建数据库时就是有主键的创建了主键,但是表之间的关系没有联系,要建数据库关系图只有主键没有外键时不行的。 建外键的前提是此外键必须是另外一个表的主键。建外键的步骤: 第一步打开要建外键表的设计器,右击选择“关系”。然后弹出“外键关系”窗体,我们选择“添加”,然后点击“表和列规范”后面的小按钮,就会弹出另外一个窗体让我们选择主键表和列,选好之后点击确定。然...转载 2019-01-17 10:07:45 · 14690 阅读 · 2 评论 -
Powerdesigner逆向工程从sql server数据库生成pdm (转载)
第一步:打开"控制面板"中的"管理工具"第二步:点击"管理工具"然后双击"数据源(odbc)" 第三步:打开之后,点击"添加" 第四步:选择"sqlserver" 点击"完成" 第五转载 2019-01-17 10:35:55 · 418 阅读 · 0 评论 -
用Sql Server自动生产html格式的数据字典
本文软件环境:Sql Server 2008。1.打开sql server管理器,给选定的表添加描述信息,给指定的字段添加描述信息。直接在表上或者字段上右键属性-扩展属性,添加一个key-value对,key就是“MS_Description",value就是你自己的描述。详细见下图:给字段添加描述的过程与上述一致,不在赘述。2.执行以下这段sql语句,然后复制查询到的结果到文本,保...转载 2019-01-17 09:31:08 · 536 阅读 · 0 评论 -
SQL中循环和条件语句
1、if语句使用示例: declare @a int set @a=12 if @a>100 begin print @a end else begin print 'no' end2、while语句使用示例: dec...原创 2019-05-10 10:54:42 · 2552 阅读 · 1 评论 -
SQL Server transaction+在sql执行中进行条件判断
USE [IPPower]GO/****** Object: StoredProcedure [dbo].[proc_AddHistoricalConsumption] Script Date: 2019/7/17 14:19:02 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER procedure [db...原创 2019-07-17 14:20:48 · 429 阅读 · 0 评论 -
解决 SqlServer执行脚本,文件过大,内存溢出问题
解决 SqlServer执行脚本,SQL文件太大,内存溢出问题,直接编辑文件复制粘贴形式没有任何反应;执行.sql脚本文件,如果文件较大时,执行会出现内存溢出问题,可用命令替代 cmd 中输入osql -S127.0.0.1,1433 -U sa -P sa -i d:\pfcms.sql,-S 服务器名 -U 用户名 -P 密码 -i 文件地址,等待执行完毕即可1433为端口号d...原创 2018-06-13 17:20:54 · 6490 阅读 · 2 评论 -
如何判断一个时间段是否和另一个时间段冲突?
案例:预订会议室时判断提交预订的时间段是否与已经预订的时间段冲突CREATE TABLE roombookinfo( id int NOT NULL, title nvarchar(10) NOT NULL, beginTime datetime NOT NULL, endTime datetime NOT NULL)select * from roomBookInfotruncate t...转载 2018-05-18 08:49:59 · 3682 阅读 · 0 评论 -
SQL查询
一.数据检索:(一.属性列操作:)1.去除重复行:distinct select distinct . from order by 2.获取置顶行 :top select top 10 * from原创 2011-09-14 18:07:56 · 512 阅读 · 0 评论 -
sql server2005变成单个用户后不能访问,设置成多个用户的办法
原理是先kill占用了数据库的那个进程,然后设置数据库为多用户模式。 USE master;GODECLARE @SQL VARCHAR(MAX);SET @SQL=''SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)FROM master..sysprocessesWHERE dbid=DB_ID('数据库名');EXEC(@SQL);GO原创 2013-01-11 13:10:20 · 7043 阅读 · 1 评论 -
sql 除法中如何防止被除数为0,以及SUM和舍入为指定的小数位数函数
SUM(ROUND(case when S1.SAL_NOS_PRM_AMT<=0 then S1.SAL_AMT when S1.SAL_AMT<=0 then 0 else S1.SAL_AMT / S1.SAL_NOS_PRM_AMT原创 2013-08-11 15:10:06 · 11998 阅读 · 0 评论 -
ORACLE中创建和删除临时表
CREATE GLOBAL TEMPORARY TABLE TABLENAME ( COL1 VARCHAR2(10), COL2 NUMBER) ON COMMIT PRESERVE(DELETE) ROWS ;--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)------------------原创 2014-08-31 15:04:24 · 2511 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 I转载 2014-08-29 09:43:33 · 607 阅读 · 0 评论 -
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)。错误代码:40.1、程序-----SQL Server2008---配置工具——SQL Server配置管理器IP地址填入你转载 2014-09-16 16:55:31 · 2113 阅读 · 0 评论 -
powerdesigner 数据库表定义导出到excel
shift+ctrl+X,打开脚本运行,脚本如下:'******************************************************************************'* File: pdm2excel.txt'* Title: pdm export to excel'* Purpose: To export the tab转载 2017-02-17 14:44:25 · 374 阅读 · 0 评论 -
C# 使用SqlBulkCopy类批量复制大数据
特别注意 sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);插入的时候列的顺序可以不一致,但名称和数据类型最好要保存一致。不一致时候,也能进行正确的转换,除了比如DataTime数据类型,不能插入一个无效的string时间字符串。本文转载:http://zhoufoxcn.blog...转载 2018-04-04 15:55:41 · 308 阅读 · 0 评论 -
如何在SQLServer中处理每天四亿三千万记录的(数据库大数据处理)
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务。项目背景这是给某数据中心做的一个项目,项目难度之大令人发指,这个项目真正的让我感觉到了,商场如战场,而我只是其中的一个小兵,太多的战术,太多的高层之间的较量,太多的内幕了。具体这个项目的情况,我有空再...转载 2018-04-04 15:57:06 · 1693 阅读 · 0 评论 -
sql处理百万级以上的数据提高查询速度的方法
处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select i...转载 2018-04-04 15:58:56 · 1058 阅读 · 0 评论 -
分区函数Partition By的与row_number()的用法以及与排序rank()的用法详解(获取分组(分区)中前几条记录)
partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,分区函数一般与排名函数一起使用。准备测试数据:create table Student --学生成绩表( id int, --主键 Grade int, -...转载 2018-04-17 19:13:30 · 5192 阅读 · 0 评论 -
MySQL存储过程例子,包含事务,参数,嵌套调用,游标,循环等
view plaincopy to clipboardprint?drop procedure if exists pro_rep_shadow_rs; delimiter | ---------------------------------- --原创 2011-09-14 18:06:49 · 469 阅读 · 0 评论