立博名家

文章分类 -  SQL Server

SQL Server 日期函数 集合DATEADD,DATEDIFF,DATENAME,DATEPART(转)
摘要:今日使用时遇到,记下备忘:SQL Server 里的日期和时间函数,因为在这方面总是出问题,所以总结一下,本人主要用到的是DATEPART(month, GETDATE()) ,这个东西在ACCESS里可以直接day(now())就可以,可惜,SQL Server里的day()是不支持参数的.SQL Server 里的日期和时间函数这些标量函数对日期和时间输入值执行操作,并返回一个字符串、数字值或... 阅读全文

posted @ 2009-07-15 16:55 大李 阅读(332) 评论(0) 推荐(0)

常用SQL函数用法。
摘要:一个月第一天的SQL 脚本: SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 本周的星期一 SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) 一年的第一天 SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) 季度的第一天 SELECT DA... 阅读全文

posted @ 2009-07-15 16:48 大李 阅读(145) 评论(0) 推荐(0)

SQL @@error ,@@rowcount 返回异常及影响行数
摘要:1.@ERROR当前一个语句遇到错误,则返回错误号,否则返回0。需要注意的是@ERROR在每一条语句执行后会被立刻重置,因此应该在要验证的语句执行后检查数值或者是将它保存到局部变量中以备将来使用。具体的分析请看下面的代码,一目了然。UpdateAF_CarInfoSETCarInfoID=19WhereOilCost=13--执行后@@ERROR为547PRINT@@ERROR--执行后@@ERR... 阅读全文

posted @ 2009-06-16 14:44 大李 阅读(807) 评论(0) 推荐(0)

sql server行级锁,排它锁,共享锁的使用
摘要:锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读 A用户读取数... 阅读全文

posted @ 2009-03-09 14:37 大李 阅读(676) 评论(0) 推荐(0)

用Sql语句生成Sqlserver数据字典
摘要:SELECT 表名=case when a.colorder=1 then d.name else '' end, --字段序号=a.colorder, 字段名=a.name, --标识=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end, /*主键=case when exists(SE... 阅读全文

posted @ 2008-11-19 12:13 大李 阅读(143) 评论(0) 推荐(0)

MS SQL SERVER 的一些有用日期,SQL 日期函数,数据库高级教程。
摘要:1.一个月第一天的 SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 2.本周的星期一 SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0) 3.一年的第一天 SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0) 4.季度的第一天 SELECT DATEADD(q... 阅读全文

posted @ 2008-05-13 14:32 大李 阅读(579) 评论(0) 推荐(0)

主键的故事
摘要:1969年8月8日,在北京协和医院降生了一个漂亮的小女孩。接生的阿姨说,她的声音这么大,好象想要全世界的人都听到。 后来,她的父亲为她取了一个很好听的名字,叫“王菲”。于是,所有的小朋友就叫她“王菲”,“王菲”就是她童年的主键。 在她上初二的时候,认识了二班另一个叫“王菲”的同学,而且和她同一天生日。不过,同学们常常将她俩弄错,后来,就分别叫她们“大王菲”和“小王菲”。“大王菲... 阅读全文

posted @ 2008-05-12 22:26 大李 阅读(165) 评论(0) 推荐(0)

顯示Sql執行效率,執行計劃
摘要:SET STATISTICS IO ON SET STATISTICS TIME ON SELECT * FROM C_setOrder where OrderNo='TCR0801854' print '=====================================' SELECT * FROM C_setOrder where OrderNo in('TCR0801854')... 阅读全文

posted @ 2008-04-21 14:57 大李 阅读(155) 评论(0) 推荐(0)

sql update 触发器 获得被update的行的信息
摘要:sql update 触发器 获得被update的行的信息 create trigger TgName on tb for update as if update(recommend) begin update tb set commenddate=(getdate()) from tb inner join inserted on tb.vlistid=Inserted.vlist... 阅读全文

posted @ 2008-04-01 10:46 大李 阅读(471) 评论(0) 推荐(0)

SQL日志文件总结及日志满的处理
摘要:交易日志(Transaction logs)是数据库结构中非常重要但又经常被忽略的部分。由于它并不像数据库中的schema那样活跃,因此很少有人关注交易日志。 交易日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。对于任何每一个交易过程,交易日志都有非常全面的记录,根据这些记录可以将数据文件恢复成交易前的状态。从交易动作开始,交易日志... 阅读全文

posted @ 2008-03-03 22:22 大李 阅读(489) 评论(1) 推荐(0)

SQL存储过程事务和优化方法(包括查询方式语句结合)
摘要:判断插入值是否重复: 事务和存储过程优化 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CREATE PROCEDURE IR_rb_User_UpdateUser ( @UserID int, @Name nv... 阅读全文

posted @ 2008-02-26 22:26 大李 阅读(189) 评论(0) 推荐(0)

SQL 事务的隔离
摘要:为了遵守ACID规则,事务必须与其他事务相隔离。这意味着在一个事务中使用的数据必须与其他事务相隔离。为了实现这种分离,每一个事务会锁住它使用的数据以防止其他事务使用它。锁定义在需要锁定的资源上,这些资源可以是索引、数据行或者表。SQL Server总会尝试精细地锁住资源。在大多数情况下,它会首先基于行级加锁。如果锁住的行太多,会提升锁至在表级。这个过程是自动完成的。在SQL Server中锁定数... 阅读全文

posted @ 2008-02-26 22:17 大李 阅读(184) 评论(0) 推荐(0)

SQL语句-事务的应用
摘要:/*建库*/ USE master GO IF EXISTS(SELECT * FROM SYSDATABASES WHERE NAME='bankDB') DROP DATABASE bankDB EXEC XP_CMDSHELL 'MD D:\BANK' --创建存放数据库文件夹 CREATE DATABASE bankDB ON ( NAME = 'bankDB_data', FILENAM... 阅读全文

posted @ 2008-02-26 22:10 大李 阅读(302) 评论(0) 推荐(0)

@@ERROR @@ROWCOUNT 返回的都是上一条SQL 语句后的执行信息。
摘要:比如下面的SQL 语句: select EmployeeID from employees -- 这条SQL 语句返回9条记录 print(@@error) print(@@ROWCOUNT) 返回的结果是: (9 row affected) 0 0 而 select EmployeeID from employees -- 这条SQL 语句返回9条记录 print(@@ROWCOUNT)... 阅读全文

posted @ 2008-01-11 20:43 大李 阅读(209) 评论(0) 推荐(0)

SQL 資料庫壓縮 指令
摘要:壓縮資料庫記錄檔文件: DBCC SHRINKFILE( '紀錄檔檔名',新的大小壓縮值) 或 DUMP TRANSACTION '?名' WITH NO_LOG 或 BACKUP LOG { database_name | @database_name_var } [ WITH { NO_LOG | TRUNCATE_ONLY } ] } 例如,壓縮資料庫記錄檔: DBCC SHRINK... 阅读全文

posted @ 2007-12-12 16:22 大李 阅读(2915) 评论(0) 推荐(0)

得到数据库插入的最后一个ID
摘要:得到插入的最后一个ID insert T1(id,name) select ID,Name from T2 where ID = @id select @ChangeID = SCOPE_IDENTITY() 得到插入的最后一个ID值。 在蝈蝈的blog中有详细描述三者的区别。 下文摘自:蝈蝈俊.net [整理]SCOPE_IDENTITY、IDENT_CURRENT ... 阅读全文

posted @ 2007-12-03 16:25 大李 阅读(241) 评论(0) 推荐(0)

SQL Server日期函數CONVERT範例
摘要:MS SQL Server中文版的預設日期datetime格式是yyyy-mm-dd hh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 SQL Server常用到日期格式轉換方式如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select repla... 阅读全文

posted @ 2007-11-20 09:32 大李 阅读(312) 评论(0) 推荐(0)

我总结的几个日期函数的使用说明
摘要:declare @dt datetimeset @dt='2007/07/06' --datepart的用法(返回值是整数)select datepart(day,@dt) as 日期select datepart(month,@dt) as 月份select datepart(year,@dt) as 年度select datepart(quarter,@dt) as 季度select date... 阅读全文

posted @ 2007-07-23 15:01 大李 阅读(310) 评论(0) 推荐(0)

sql 日期函数之对于周的处理
摘要:SELECT /**//* * 输出格式: x年x周* 如:200621*/Convert(varchar(4),intYear) + /**//* 先将intYear列转成字符型 */case when len(intWeek)=1 /**//* 判断intWeek列的长度是否为1 */ then '0' + Convert(varchar(1... 阅读全文

posted @ 2007-07-21 10:16 大李 阅读(1425) 评论(0) 推荐(0)

创建作业
摘要:--创建作业exec msdb..sp_add_job @job_name='数据处理'--创建作业步骤declare @sql varchar(800),@dbname varchar(250)select @sql='exec p_proc' --要定时执行的存储过程,@dbname=db_name() --执行数据处理的数据库名exec msdb..sp_add_jobstep @job_... 阅读全文

posted @ 2007-07-03 11:21 大李 阅读(185) 评论(0) 推荐(0)

导航

立博名家