sql server 2005 学习记录
文章平均质量分 59
tearsmo
这个作者很懒,什么都没留下…
展开
-
通过SQL得到某年内每周的开始日期和结束日期
示例效果为:得到某年内每周的开始日期和结束日期每周以周日为第一天一周以至少还有四天为计如2004/01/01 是已经周四那么2004年的第一周从2004/01/04开始2007/12/31 是周二那么2007年的最后一周只到2007/12/19开始那么2008年的第一周从2007/12/30开始相关代码如下:--------------1.tWeek表CREATE TABLE [tWeek] ( [tSeqID] [int] IDENTITY (1, 1) NOT转载 2015-10-22 14:56:57 · 4553 阅读 · 0 评论 -
数据库主键设计之思考
在我们的数据库设计中,不可逃避的就是数据库表的主键,可能有很多朋友没有深入思考过,主键的设计对整个数据库的设计影响很大,因此我们不得不要重视起来。 主键的必要性: 有些朋友可能不提倡数据库表必须要主键,但在我的思考中,觉得每个表都应该具有主键,不管是单主键还是双主键,主键的存在就代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,本记录的修改与删除,当我们转载 2012-07-03 14:14:41 · 1105 阅读 · 0 评论 -
SQL Server 索引结构及其使用(三)[转]
一、深入浅出理解索引结构二、改善SQL语句实现小数据量和海量数据的通用分页显示存储过程 建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建转载 2012-07-03 14:05:56 · 611 阅读 · 0 评论 -
什么时候使用存储过程比较适合?
当一个事务涉及到多个SQL语句时或者涉及到对多个表的操作时就要考虑用存储过程;当在一个事务的完成需要很复杂的商业逻辑时(比如,对多个数据的操作,对多个状态的判断更改等)要考虑;还有就是比较复杂的统计和汇总也要考虑,但是过多的使用存储过程会降低系统的移植性。 为了系统的控制方便,例如当系统进行调整时,这是只需要将后台存储过程进行更改,而不需要更改客户端程序。也无需重新安装客户端应用程原创 2012-07-12 10:04:42 · 1507 阅读 · 0 评论 -
vs2005工具栏重置
今天不知什么原因,打开vs2005的时候发现工具栏里面少了不少东西,连最基本的Label都没有了,rdlc报表中,只有一排textBox,其他的如Table,Matrix,Chart等都没有了,用ToolBox上面的Reset功能根本不行,而且还莫名其妙的自动产生一个#13119 标签分类,删除了都回重新出现。最后经过一番周折,终于发现了解决办法,那就是重新设置vs2005的开发环境。也就是说原创 2012-06-27 18:18:30 · 1988 阅读 · 0 评论 -
【SQL】数据库中select into from 和 insert into select的区别
select * into target_table from source_table; insert into target_table(column1,column2) select column1,5 from source_table; 以上两句都是将源表source_table的记录插入到目标表target_table,但两句又有区别。 第一句(select into from原创 2012-06-20 14:16:36 · 715 阅读 · 0 评论 -
【SQL】2条完全一样的数据删除一条保留一条
SQL Server 2005 Express 下测试通过, 仅供参考-- 任意的测试表CREATE TABLE test_delete( name varchar(10), value INT);go-- 张三100 与 王五80 是有重复的INSERT INTO test_deleteSELECT '张三', 100UNION ALL S原创 2012-06-19 16:51:21 · 8348 阅读 · 1 评论 -
四个排名函数(row_number、rank、dense_rank和ntile)的比较
轉自:http://www.cnblogs.com/nokiaguy/archive/2009/02/05/1384860.htm 排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:1. row_number2. rank3. dense_rank4. ntile 下面分别介绍一下这四个排名函数的功能转载 2012-06-19 17:05:24 · 1523 阅读 · 0 评论 -
【SQL】case 用法(2)
四,根据条件有选择的UPDATE。例,有如下更新条件 工资5000以上的职员,工资减少10% 工资在2000到4600之间的职员,工资增加15% 很容易考虑的是选择执行两次UPDATE语句,如下所示--条件1UPDATE PersonnelSET salary = salary * 0.9WHERE salary >= 5000;--条件2UPDATE Pe原创 2012-06-01 16:22:23 · 799 阅读 · 1 评论 -
【SQL】case用法
Case具有两种格式。简单Case函数和Case搜索函数。 1 --简单Case函数2 CASE sex3 WHEN '1' THEN '男'4 WHEN '2' THEN '女'5原创 2012-06-01 16:19:53 · 844 阅读 · 1 评论 -
【SQL】前十條數據
日前應用到跨數據庫轉檔資料以下語句雖然很基礎,還是蠻有用用途的oracle:select * from tab where rownum <= 10;sql server:select top 10 * from tab mysql: select * from tab limit 10db2:select * from tab fetch firs原创 2012-05-17 09:58:42 · 2318 阅读 · 2 评论 -
【SQL】isNull的使用
/*使用isNull進行靈活的搜索*/declare @productId int declare @startdate datetimedeclare @standardCost moneyset @ProductID=711select ProductId,StartDate,standardCostfrom Productionwhere Produc原创 2012-04-30 14:53:25 · 750 阅读 · 0 评论 -
【SQL】SQL 字符部份替換
/*替換*/select replace('hi,world','hi','hello')原创 2012-04-30 15:32:20 · 448 阅读 · 0 评论 -
SQL Server 索引结构及其使用(一)[转]
SQL Server 索引结构及其使用(一) 作者:freedk一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别:转载 2012-07-03 14:04:02 · 552 阅读 · 0 评论 -
SQL Server 索引结构及其使用(二)[转]
一、深入浅出理解索引结构改善SQL语句 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如: select * from table1 where name=''zhangsan'' and tID > 10000和执行:select * from table1 where tID > 1000转载 2012-07-03 14:05:01 · 789 阅读 · 0 评论 -
特定日期查詢
--a. 一个月的第一天 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --b. 本周的星期一 SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) --c. 一年的第一天 SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) --d. 季度原创 2015-08-17 16:09:30 · 1766 阅读 · 0 评论 -
SQL Server中如何获取当前年,月,日,时,分,秒
select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) as '月',DateName(day,GetDate()) as '日',DateName(dw,GetDate()) as '星期',DateName(week,GetDate()) as '原创 2015-08-17 16:36:07 · 28009 阅读 · 0 评论 -
SQL 當月上月月初月末
--本月select dateadd(dd,-datepart(dd,getdate())+1,getdate()) select dateadd(day,-day(getdate()),dateadd(month,1,getdate()))--上月select DATEADD(mm,DATEDIFF(mm,0,getdate()-30),0) select l原创 2015-08-17 11:28:58 · 6335 阅读 · 2 评论 -
v利用sys.sysprocesses检查SqlServer的阻塞和死锁 .
视图中主要的字段: 1. Spid:Sql Servr 会话ID 2. Kpid:Windows 线程ID 3. Blocked:正在阻塞求情的会话 ID。如果此列为 Null,则标识请求未被阻塞 4. Waittype:当前连接的等待资源编号,标示是否等待资源,0 或 Null表示不需要等待任何资源 5. Waittime:当前等待时间,单位为毫秒,0 表示没有等待 6.转载 2014-11-14 16:21:20 · 2189 阅读 · 0 评论 -
杀死数据库连接
杀死数据库连接:DECLARE myCurse CURSOR FOR SELECT spid FROM sys.sysprocesses WHERE dbid = DB_ID('YourDatabaseName') OPEN myCurse FETCH NEXT FROM myCurse INTO @temp WHILE @@FETCH_S转载 2014-11-14 14:06:56 · 2921 阅读 · 0 评论 -
Database log is full
Sometimes, we might encounter such error from SSIS:The transaction log for database'@dbname' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.d原创 2014-11-14 16:46:24 · 2318 阅读 · 0 评论 -
DBA案例分析:如何解决CPU占用100%的问题
某商业门户网站,系统后台架构为Windows 2003 Server + SQL Server 2005 SP2 +IIS 6.0,网站采用asp.net 2.0 技术。服务器技术参数为CPU 系4核Xeon(TM) CPU 3.00GHZ,2G内存,100M网卡。故障情况说明:某日客服部来电反映,网站反映响应速度变慢。而在DBA上午的例行检查中也发现 ,通过任务管理器和性能监察器均显转载 2014-11-14 16:21:56 · 2312 阅读 · 0 评论 -
sqlserver内存释放
由于Sql Server对于系统内存的管理策略是有多少占多少,除非系统内存不够用了(大约到剩余内存为4M左右), Sql Server才会释放一点点内存。所以很多时候,我们会发现运行Sql Server的系统内存往往居高不下。 这些内存一般都是Sql Server运行时候用作缓存的,例如你运行一个select语句, 那么Sql Server会将相关的数据页(Sql Server操转载 2014-11-14 16:22:40 · 2861 阅读 · 0 评论 -
神了
select * into #08User_Duty_Schedule4 From User_Duty_Schedule14fly where RealStartTime is not null and RealEndTime is not NULL and dayid between '20141001' and '20141031' -- 根據工號,對日期進行編號原创 2014-11-12 13:35:44 · 2741 阅读 · 0 评论 -
Oracle中insert into select和select into的用法(异常0RA-00905:missing keyword的解决)
两张表进行数据的拷贝,最常用的拷贝语句是:insert into select 和 select into from但是请绝对的注意:在Oracle中select into from不可以使用-----原因很简单:select into是PL/SQL language 的赋值语句!如果使用则Oracle会抛出0RA-00905:missing keyword的异常!但是可以用cr原创 2013-05-06 15:35:40 · 2422 阅读 · 0 评论 -
SQL 删除前100条 with as
with cte as(select top 50* from tableName)delete from cteWITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对原创 2013-01-23 08:39:25 · 10015 阅读 · 0 评论 -
SQL Server 索引结构及其使用(四)
一、深入浅出理解索引结构二、改善SQL语句三、实现小数据量和海量数据的通用分页显示存储过程聚集索引的重要性和如何选择聚集索引 在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象:1、分页速度一般维持在1秒和3秒转载 2012-07-03 14:10:54 · 2827 阅读 · 0 评论 -
【SQL】SQL語句撰写效能注意事項
一、问题的提出在应用系统开发初期,由於开发资料库资料比较少,对於查询SQL语法,复杂视图的的编写等体会不出SQL语法各种写法的性能优劣,但是如果将应用系统提交实际应用后,随著资料库中资料的增加,系统的回应速度就成为目前系统需要解决的最主要的问题之一。系统最佳化中一个很重要的方面就是SQL语法的最佳化。对於海量资料,劣质SQL语法和优质SQL语法之间的速度差别可以达到上百倍,可见对於原创 2012-05-16 16:16:33 · 1023 阅读 · 0 评论 -
【xp_sqlagent_enum_jobs】取得SQL Server 作业执行状态的存储过程
xp_sqlagent_enum_jobs是微软未公开的存储过程,用于取得作业的相关信息,在自己进行调度处理多作业时,用它来判断作业的执行情况再合适不过了。create table #help_job( job_id uniqueidentifier not null, last_run_date int not null, last_run_time i原创 2012-05-07 11:26:35 · 1663 阅读 · 0 评论 -
异常来自 HRESULT:0x80040E14
突然听客户说系统只要涉及到编辑和新增功能就会出现 "异常来自 HRESULT:0x80040E14",这个异常也见过,他是出现在访问站点的时候,只要输入siteurl 就会出现 "异常来自 HRESULT:0x80040E14"。 以前的出现异常的主要原因是C盘的空间不足,导致异常。删除 C:/Program Files/Common Files/Microsoft Shared原创 2012-03-13 09:42:07 · 5990 阅读 · 0 评论 -
SQL Server中行列转换 Pivot UnPivot
1.--行列转换原表: 姓名 科目 成绩 张三 语文 80 张三 数学 90 张三 物理 85 李四 语文原创 2011-08-10 15:58:35 · 1284 阅读 · 0 评论 -
SQL SERVER中,生成若干年份,包含列名公历日期、星期、月干支、日干支的表
SQL SERVER中,生成若干年份,包含列名公历日期、星期、月干支、日干支的表(月干支、日干支,指的是天干地支,09年1月:甲子 1日:丙午)一个月的第一天 第一个例子,我将告诉你如何从当前日期去这个月的最后一天。请注意:这个例子以及这篇文章中的其他例子都原创 2011-09-06 09:34:51 · 1526 阅读 · 0 评论 -
SqlServer 2005 排序规则的修改
今天遇到Sql server 2005数据库的排序规则区分大小写,郁闷如何修改呢,改成:Chinese_PRC_CI_AS就可以不区分大小写了。发现整个数据库引擎安装的过程都存在问题,都是区分大小写的,如何彻底修改呢最后弄了一个批处理文件具体步骤如下:1、找到sql2005 的安装包2、执行下面的批处理内容如下:cd D:/SQL Server 2005/SQL原创 2011-07-01 16:34:00 · 965 阅读 · 0 评论 -
数据库语法时用到的{},,[]等各类括号分别代表什么?
> 尖括号,用于分隔字符串,字符串为语法元素的名称,SQL语言的非终结符。 ::= 定义操作符。用在生成规则中,分隔规则定义的元素和规则定义。 被定义的元素位于操作符的左边,规则定义位于操作符的右边。 [ ] 方括号表示规则中的可选元素。方括号中的规则部分可以明确指定也可以省略。 { } 花括号聚集规则中的元素。在花括号中的规则部分必须明确指定。 | 替换操作符。 该竖线原创 2011-06-15 16:29:00 · 5709 阅读 · 0 评论 -
Sql Server 监控 Job 执行情况
由于最近数据库的部分job总是不能十分健康的执行,而监控起来只能登陆db服务器去查看错误日志,维护起来十分麻烦,并且job一般都是比较重要的,比如备份数据库或者清理数据库等等。网站这边,经常由于清理job不能正常执行,造成数据库空间在几天内增加 2G - 3G 左右,最后排查发现,是由于执行清理的sql语句执行超时而至。所以,做了一个job执行报表的功能,集成于公司的后台,和 错误日志放在了一原创 2011-06-03 11:17:00 · 2501 阅读 · 4 评论 -
SQLServer你都用哪些函数
<br />下面是我在SQLServer中用的比较多的函数,你还用些什么函数?或者对哪个函数有比较好用法?或者你不用哪些函数?<br /> <br />LEFT ( character_expression , integer_expression ) <br />返回从字符串左边开始指定个数的字符。<br />例:<br />select left('my name is viwo',4)<br />my n<br /> <br />RIGHT ( character_expression , integ转载 2011-06-01 09:33:00 · 750 阅读 · 0 评论 -
海量数据处理 (转)
<br /><br />在实际的工作环境下,许多人会遇到海量数据这个复杂而艰巨的问题,它的主要难点有以下几个方面:<br />一、数据量过大,数据中什么情况都可能存在。<br />如果说有10条数据,那么大不了每条去逐一检查,人为处理,如果有上百条数据,也可以考虑,如果数据上到千万级别,甚至过亿,那不是手工能解决的了,必须通过工具或者程序进行处理,尤其海量的数据中,什么情况都可能存在,例如,数据中某处格式出了问题,尤其在程序处理时,前面还能正常处理,突然到了某个地方问题出现了,程序终止了。<br />二、软转载 2010-08-24 15:37:00 · 504 阅读 · 0 评论 -
一道sql面试题的解答
<br />一道sql面试题的解答<br />题目:<br /> 写出一条Sql语句:<br /> 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。)<br /> <br />解答(已测试):<br /> 1、假设ID是连续的:<br />select top10 *fromAwhereIDnot in(selecttop30 IDfromA)<br /> 或<br />select * fromAwhereIDbetween3转载 2010-08-24 15:40:00 · 565 阅读 · 0 评论 -
sql复制表结构和数据
<br />功能:将查询的结果放到一个新表中去,查询结果可以来源于一个表或多个表<br /><br />SQL SERVER中使用SELECT … INTO语句<br /><br />按照使用场合可以分为以下几类:<br /><br />1. 实现全表备份:如:SELECT * INOT t1 FROM titles<br /><br />2. 备份表的一部分列(不写*而写出列的列表)或一部分行(加WHERE条件)<br /><br />如: SELECT title_id,title,price INTO转载 2010-08-24 15:38:00 · 568 阅读 · 0 评论 -
赏心悦目!SQL Server漂亮脚本书写格式
<br /> 【IT168 技术文档】本篇来聊聊如何书写漂亮、整洁、优雅的SQL脚本,下面这些是我个人总结、整理出来的。姑且做个抛砖引玉吧,呵呵,欢迎大家一起来讨论。<br /> 我们首先来看看一段创建数据表的脚本(如下所示),你是否觉得有什么不妥或是不足呢?如果是你,你怎样书写呢?#div_code img{border:0px;}CREATE TABLE [dbo].[TableDataDictionary](<br /> [TableID] [int] IDENTITY(转载 2010-08-23 15:52:00 · 1002 阅读 · 0 评论