[随笔分类]DB(数据库)
aierong_
这个作者很懒,什么都没留下…
展开
-
MS SQL数据库备份和恢复存储过程(加强版本)
上次写了MS SQL数据库备份和恢复存储过程详细情况见(http://www.cnblogs.com/aierong/archive/2004/05/10/8789.aspx)自感觉功能不太齐全,就重新写了一加强版本,经过测试成功!先将代码发布出来,大家共享。如有发现BUG,请大家指教或EMAIL:aierong@vip.sina.com/**//*备份数据库*/create proc pr_...2004-05-20 13:55:00 · 128 阅读 · 0 评论 -
sqlserver排序规则在拼音处理中的应用
--1. 按拼音排序DECLARE @t TABLE(col varchar(2))INSERT @t SELECT '中'UNION ALL SELECT '国'UNION ALL SELECT '家'UNION ALL SELECT '人'UNION ALL SELECT '郭'SELECT * FROM @t ORDER BY col COLLATE Chinese_PRC_CS_AS...2008-11-21 08:53:00 · 215 阅读 · 0 评论 -
sqlserver字符串合并(merge)方法汇总
--方法1--使用游标法进行字符串合并处理的示例。--处理的数据CREATE TABLE tb(col1 varchar(10),col2 int)INSERT tb SELECT 'a',1UNION ALL SELECT 'a',2UNION ALL SELECT 'b',1UNION ALL SELECT 'b',2UNION ALL SELECT 'b',3--合并处理--定义结果集表变...2008-11-19 20:23:00 · 1184 阅读 · 0 评论 -
sqlserver字符串拆分(split)方法汇总
--方法0:动态SQL法declare @s varchar(100),@sql varchar(1000)set @s='1,2,3,4,5,6,7,8,9,10'set @sql='select col='''+ replace(@s,',',''' union all select ''')+''''PRINT @sqlexec (@sql) if exists (select * fr...2008-11-19 20:06:00 · 232 阅读 · 0 评论 -
sqlserver日期推算(年,季度,月,星期推算)
DECLARE @dt datetimeSET @dt=GETDATE()DECLARE @number intSET @number=3--1.指定日期该年的第一天或最后一天--第一天为1月1日、最后一天为12月31日都是固定的--A. 年的第一天SELECT CONVERT(char(5),@dt,120)+'1-1'--B. 年的最后一天SELECT CONVERT(char(5),...2008-11-19 19:20:00 · 224 阅读 · 0 评论 -
Sql Server2005 Transact-SQL 新兵器学习总结之-总结
Microsoft SQL Server 2005扩展了SQL Server 2000的性能、可靠性、可用性、可编程性和易用性。其中与我们开发工作息息相关的数据库引擎,引入了新的可编程性增强功能(如与 Microsoft .NET Framework 的集成和Transact-SQL的增强功能)、新XML功能和新数据类型。 具体描述如下:1.数据库对象(如触发器、存储过程和用户定义类型)可以用 ....2008-09-03 07:49:00 · 148 阅读 · 0 评论 -
Sql Server2005 Transact-SQL 新兵器学习总结之-DDL触发器
1.简介:Sql Server2005新增加了DDL触发器。与DML触发器不同的是,它们不会为响应针对表或视图的UPDATE、INSERT或DELETE语句而激发。相反,它们将为了响应各种数据定义语言(DDL)事件而激发。这些事件主要与以关键字CREATE、ALTER和DROP开头的Transact-SQL语句对应。执行DDL式操作的系统存储过程也可以激发DDL触发器。2.作用:如果要执行以下操作...2008-09-02 07:48:00 · 142 阅读 · 0 评论 -
Sql Server2005 Transact-SQL 新兵器学习总结之-窗口函数(OVER)
1.简介: SQL Server 2005中的窗口函数帮助你迅速查看不同级别的聚合,通过它可以非常方便地累计总数、移动平均值、以及执行其它计算。窗口函数功能非常强大,使用起来也十分容易。可以使用这个技巧立即得到大量统计值。窗口是用户指定的一组行。 开窗函数计算从窗口派生的结果集中各行的值。2.适用范围:排名开窗函数和聚合开窗函数.也就是说窗口函数是结合排名开窗函数或者聚合开窗函数一起使用OVER子...2008-08-26 07:53:00 · 144 阅读 · 0 评论 -
Sql Server2005 Transact-SQL 新兵器学习总结之-TOP 运算符
TOP 运算符介绍:TOP 运算符在Sql Server2005得到了增强,可以使用任何数值表达式(如变量名),而不是仅使用整数来指定该运算符返回的行数。TOP 现在还可以在 INSERT、UPDATE 和 DELETE 语句中指定。TOP 运算符的几个使用总结:1.TOP 表达式可用在 SELECT、INSERT、UPDATE 和 DELETE 语句中。2.Top表达式可以是常量,变量...2007-12-03 16:49:00 · 131 阅读 · 0 评论 -
Sql Server2005 Transact-SQL 新兵器学习总结之-数据类型
sql server2005新增加了2大数据类型:1.大值数据类型2.xml1.大值数据类型Microsoft SQL Server 2005 中引入了 max 说明符。此说明符增强了 varchar、nvarchar 和 varbinary 数据类型的存储能力。varchar(max)、nvarchar(max) 和 varbinary(max) 统称为大值数据类型。您可以使用大值数据类...2007-12-03 14:57:00 · 128 阅读 · 0 评论 -
Sql Server2005 Transact-SQL 新兵器学习总结之-TRY…CATCH
Transact-SQL 代码中的错误可使用 TRY…CATCH 构造处理,此功能类似于C#语言的异常处理功能。TRY…CATCH 构造包括两部分:一个 TRY 块和一个 CATCH 块1.TRY...CATCH 块不处理导致数据库引擎关闭连接的严重性为 20 或更高的错误。但是,只要连接不关闭,TRY...CATCH 就会处理严重性为 20 或更高的错误。2.严重性为 10 或更低的错误被视...2007-12-03 13:56:00 · 96 阅读 · 0 评论 -
Sql Server2005 Transact-SQL 新兵器学习总结之-APPLY 运算符
APPLY 运算符简介: APPLY 运算符是Sql Server2005新增加的运算符。使用APPLY运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。APPLY运算符生成的列的列表是左输入中的列集,后跟右输入返回的列的列表。 APPLY 运算符的左操作数和右...2008-08-13 15:07:00 · 127 阅读 · 0 评论 -
Sql Server2005 Transact-SQL 新兵器学习总结之-公用表表达式(CTE)
公用表表达式是Sql Server2005新增加的一个非常好用的功能。公用表表达式 (CTE) 可以认为是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 语句的执行范围内定义的临时结果集。CTE 与派生表类似,具体表现在不存储为对象,并且只在查询期间有效。与派生表的不同之处在于,CTE 可自引用,还可在同一查询中引用多次。CTE可用于: 1.创建递归查...2008-07-31 14:52:00 · 116 阅读 · 0 评论 -
局部临时表和表变量的重复创建问题随笔
今天遇到一个需求,是根据逻辑判断动态创建局部临时表 1declare @flag bit 2 3select @flag=1 4 5--当@flag=1时,临时表第2个字段a的类型为float 6 7--当@flag<>1时,临时表第2个字段a的类型为int 8 9if @flag=1 10 11begin 12 13 create...2005-04-22 11:51:00 · 127 阅读 · 0 评论 -
sql server中UNION 运算符随笔(几个需要注意的地方小总结)
UNION 运算符是将两个或更多查询的结果组合为单个结果集 该结果集包含联合查询中的所有查询的全部行。这与使用联接组合两个表中的列不同。 使用 UNION 组合查询的结果集有两个最基本的规则: 1。所有查询中的列数和列的顺序必须相同。 2。数据类型必须兼容 a.UNION的结果集列名与第一个select语句中的结果集中的列名相同,其他select语句的结果集列名被忽略 b.默...2005-03-03 11:35:00 · 239 阅读 · 0 评论 -
ORDER BY排序后,表中字段相加的困惑?
在sql server2000自带DB-pubs 运行下面的sql 它是把第一条和第二条记录的字段job_id进行了相加 我们可以得到字符:1.2. declare @str varchar(1000) select @str='' SELECT top 2 @str=@str+ convert(varchar(10),job_id)+'.' FROM [pubs].[dbo].[jobs] ...2005-02-03 16:38:00 · 654 阅读 · 0 评论 -
求每组前2名,你有几种方法?(MS SQL2000)
create table abc( i nvarchar(10), ii int, iii int, iiii int, price money)goinsert into abc select 'b',1,2,1,11 union all select 'b',211,2,1,211 union all select 'a',21,2,1,311 union all select 'd',41,...2004-08-23 11:55:00 · 158 阅读 · 0 评论 -
sqlserver排序规则在全角与半角处理中的应用
--1.查询区分全角与半角字符--测试数据DECLARE @t TABLE(col varchar(10))INSERT @t SELECT 'aa'UNION ALL SELECT 'Aa'UNION ALL SELECT 'AA' --全角AUNION ALL SELECT 'A,A' --全角A,半角逗号(,)UNION ALL SELECT 'A,A' --全角A,全角逗号(,)...2008-11-21 09:41:00 · 233 阅读 · 0 评论