![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SqlServer
cngkqy
这个作者很懒,什么都没留下…
展开
-
SQL2000有文件挂起问题
SQL2000重新装,有文件挂起,不能安装,这个问题让我们苦恼好长时间啦吧!~~!就让我来告诉 你怎么做,才能再安装吧~!~!第一步:就是检查一下你的C盘或者你以前安装SQL2000地方,把那个SQL2000的文件全部删除啦~~!~并用搜索一下sqlstp.log这个文件,也并删除它,因你安装过SQL2000留下的安装纪录~!~!如果你没有装过SQL2000的话,也出现这样的问题,这步就不用做啦~转载 2006-05-12 00:44:00 · 2770 阅读 · 3 评论 -
sql server 2000关于开始日期,结束日期的查询
在平时的开发中,经常会用到基于某个时间段的查询,比如选择开始日期、结束日期.(yyyy-MM-dd格式),而在数据库表中该列存储的格式却是(yyyy-MM-dd HH:MM:SS)格式,这样就要用到如下转换sbSql.Append(string.Format(" AND Convert(Char(10),RegisterDate,120) 1public DataTable GetOver转载 2007-09-30 15:09:00 · 2776 阅读 · 0 评论 -
巧用日志恢复数据
SQL Server——巧用日志恢复数据SQL Server数据库在新建的时候除了生成“数据库名_Data.MDF”的数据文件外,还会生成“数据库名_LOG.LDF”文件。当我们错误地删除数据库里系统表的信息导致无法正常使用或者错误地删除有用数据需要回滚的时候,我们应该如何做呢?系统表的威胁比较大些,因为一旦删除依靠SQL Server本身的企业管理器、查询分析器等将无法使用。底层的API转载 2007-11-05 10:00:00 · 6435 阅读 · 0 评论 -
sql server中group by 的几种用法
Group by 是SQL Server 中常用的一种语法,语法如下:[ GROUP BY [ ALL ] group_by_expression [ ,...n ] [ WITH { CUBE | ROLLUP } ]] 1、最常用的就是这种语法,如下:Select CategoryID, AVG(UnitPrice), COUNT(UnitPrice) FROM dbo.Pr转载 2007-11-15 14:50:00 · 1562 阅读 · 0 评论 -
SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想~现在在这写写关于它们的作用假设有如下表:一个为投票主表,一个为投票者信息表~记录投票人IP及对应投票类型,左右连接实际说是我们联合查询的结果以哪个表为准~1:如右接连 right join 或 right outer join:我们以右边voter表为准,则左表(voteMaster)中的记录只有当其ID在右边(v转载 2007-11-15 14:55:00 · 1736 阅读 · 1 评论 -
SQLSERVER 怎样去除重复记录
【SQLSERVER】怎样去除重复记录有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。 1、对于第一种重复,比较容易解决,使用 select distinct * from tableName 就可以得到无重复记录的结果集。 如果该表需转载 2007-11-29 10:33:00 · 39072 阅读 · 0 评论 -
SQLServer的ISNULL应用举例
ISNULL使用指定的替换值替换 NULL。语法ISNULL ( check_expression , replacement_value ) 参数check_expression将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。replacement_value在 check_expression 为 NULL时将返回的表达式。replacement_valu转载 2007-12-03 10:54:00 · 4529 阅读 · 0 评论 -
交叉表、行列转换和交叉查询经典
交叉表、行列转换和交叉查询经典 一、什么是交叉表 “交叉表”对象是一个网格,用来根据指定的条件返回值。数据显示在压缩行和列中。这种格式易于比较数据并辨别其趋势。它由三个元素组成: 行转载 2007-12-05 16:01:00 · 27154 阅读 · 4 评论 -
sqlserver(相关子查询,动态交叉表篇)
最近重新又翻看了一下关于sqlserver的书籍,主要查看了一下关于sql中的相关子查询和交叉表方面的知识。相关子查询和普通子查询区别在于:相关子查询引用了外部查询的列。这种引用外部查询的能力意味着相关子查询不能自己独立运行,其中对于外部查询引用会使会使其无法正常执行。因此相关子查询的执行顺序如下:1.首先执行一遍外部查询2.对于外部查询的每一行分别执行一遍子查询,而且每次执行子查询时候都会引用转载 2007-12-05 16:05:00 · 3287 阅读 · 1 评论 -
SqlServer生成交叉表大全
SqlServer如何生成动态交叉表查询VB+MS SqlServer,是我们目前开发数据库应用系统最常用的模式,翻翻以前的老帖子,有一些SqlServer的问题经常被提出来,但正确解答甚少,现把我对这些问题的见解贴出来,这次先讲讲动态交叉表的问题为了说明问题,我们用SqlServer自带的事例数据库(Northwind)来进行验证,所有的例子请放到Northwind中运行,我可能会省略转载 2007-12-05 16:39:00 · 18569 阅读 · 0 评论 -
sp_executesql接收返回多个参数实例
近日做项目中需要在EXEC执行Sql字符串时动态的传入参数并接收返回值,于是研究了一下SqlServer中sp_executesql的使用方法,并做了如下的例子。在使用sp_executesql动态传入与接收返回参数时需注意以下事项,以避免大家走弯路。例子中@SQLString,@ParmDefinition一定要使用NVARCHAR类型,否则会报“过程需要参数 ×××× 为 ntext/n原创 2007-12-10 11:54:00 · 7511 阅读 · 0 评论 -
Sqlserver时间转换函数
--按传入的秒数转换为小时分秒的形式CREATE function Get_ConverTime( @second bigint --需要转换的秒数)returns varchar(1024)asbegin declare @integralHour bigint --整小时数 declare @integralMinute bigint --整分钟数 declare @Time varch原创 2007-12-10 11:07:00 · 4057 阅读 · 1 评论 -
解决windows 2003+Sql2000中OLEDB分布式事务无法启动的解决方案
在开发分布式数据库软件时,经常碰到下面的错误:服务器: 消息 7391,级别 16,状态 1,行 6该操作未能执行,因为 OLE DB 提供程序 SQLOLEDB 无法启动分布式事务。[OLE/DB provider returned message: 不能在指定的事务处理器中获得新事务。]---------------------------------------------------转载 2008-03-20 11:48:00 · 949 阅读 · 0 评论 -
数据库设计规范与技巧
本文详细解析了数据库设计过程、设计技巧以及总结了数据库命名规范…… 一、数据库设计过程 数据库技术是信息资源管理最有效的手段。 数据库设计是指:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。 数据库设计的各阶段: A、需求分析阶段:综合各个用户的应用需求(现实世界的需求)。 B、在概念设计阶段转载 2008-01-17 10:36:00 · 1209 阅读 · 0 评论 -
调用存储过程示例
测试存储过程的时候用,脑子记性不好,老记不住,临时用着了网上还不好搜,记下来 declare @v_userid varchar(100)declare @i_out intexec gp_findtemptable 1001,@i_out output--drop table ##1001select @i_out原创 2008-09-27 15:38:00 · 638 阅读 · 0 评论 -
查看当前数据库中触发器的个数
查看当前数据库中触发器的个数 在查询分析器中运行: use 数据库名goselect * from sysobjects where xtype=TRsysobjects 保存着数据库的对象,其中 xtype 为 TR 的记录即为触发器对象。在 name 一列,我们可以看到触发器名称。 ---------------------------------------转载 2008-10-07 13:52:00 · 3286 阅读 · 0 评论 -
Sqlserver中用Sql脚本获取表结构信息
select object_name(id) as 表名 ,c.name as 字段名 ,t.name 数据类型 ,c.prec as 长度 from syscolumns c inner join systypes t on c.xusertype=t.xusertype where objectproperty(id,IsUserTable)=1 and id=object_id(要查原创 2008-11-13 16:23:00 · 3319 阅读 · 0 评论 -
利用SQL Server的全局临时表防止用户重复登录
在我们开发商务软件的时候,常常会遇到这样的一个问题:怎样防止用户重复登录我们的系统?特别是对于银行或是财务部门,更是要限制用户以其工号身份多次登入。 可能会有人说在用户信息表中加一字段判断用户工号登录的状态,登录后写1,退出时写0,且登录时判断其标志位是否为1,如是则不让该用户工号登录。但是这样那势必会带来新的问题:如发生象断电之类不可预知的现象,系统是非正常退出,无法将标志位置转载 2007-09-27 16:43:00 · 777 阅读 · 0 评论 -
sqlserver中如何取得两位的月份和天数
如题,如日期为20060301,用month(getdate())和day(getdate())无法取到03和01,只能取到3和1,请问有如何实现? 谢谢! --月 Select Right(100+Month(GetDate()),2) --日 Select Right(100+Day(GetDate()),2)转载 2007-09-27 16:35:00 · 9205 阅读 · 0 评论 -
精妙的SQL语句
说明:复制表(只复制结构,源表名:a 新表名:b) SQL: select * into b from a where 1说明:拷贝表(拷贝数据,源表名:a 目标表名:b) SQL: insert into b(a, b, c) select d,e,f from b; 说明:显示文章、提交人和最后回复时间 SQL: select a.title,a.username,b.adddate from转载 2006-05-23 12:46:00 · 914 阅读 · 0 评论 -
T-SQL象数组一样处理字符串、分割字符串
从目标字符串中查找是否有指定一个或多个子字符串/***************************************fn_FindString**从目标字符串中查找是否有指定一个或多个子字符串**xspf.cn@gmail.com***************************************/--@StrDest:目标字符串,分隔--@StrPattern:需转载 2006-11-14 14:28:00 · 2007 阅读 · 0 评论 -
非法字符替换函数
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_replace]) and xtype in (NFN, NIF, NTF))drop function [dbo].[f_replace]GO/*--非法字符替换函数去掉字符串中,小于32的字符保留 TAB char(9)转载 2006-11-14 14:33:00 · 1311 阅读 · 0 评论 -
SQL Server各种日期计算方法
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文 章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。 在使用本文中的例子之前,你必须注意以下的问题。转载 2006-11-14 11:31:00 · 763 阅读 · 0 评论 -
搜索某个字符串在那个表的那个字段中
--搜索某个字符串在那个表的那个字段中declare @str varchar(100)set @str=White --要搜索的字符串declare @s varchar(8000)declare tb cursor local forselect s=if exists(select 1 from [+b.name+] where [+a.name+] like %转载 2006-11-14 14:32:00 · 791 阅读 · 0 评论 -
短信字符串分拆
分拆短信中的数据/*--问题描述根据自定义信息前缀表(每个信息前缀可以看作是一个信息分隔符)进行字符串分拆处理的函数,在分拆处理函数中,首先定义了一个信息前缘表@splits,表中包含了AC、BC、CC、DC四个信息前缀(实际使用时,可以在函数中添加其他信息前缘,也可以定义一个正式表来保存信息前缀数据,这样就可以实现用户自定义信息前缀数据的处理)。它的分拆处理过程是这样的: (1) 在短信字转载 2006-11-14 14:39:00 · 894 阅读 · 0 评论 -
在SQL中使用convert函数进行日期的查询
曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm:ss,而我们查询时是通过yyyy-mm-dd来进行的,即查询某一天的所有会议信息,这样如果通过select * from Meeting where PublishTime=@PublishTime转载 2006-11-14 11:34:00 · 1680 阅读 · 0 评论 -
一个使用游标的存储过程的实例
CREATE PROCEDURE Sp_SBUrge AS--声明游标并从数据库中读取记录declare myCur cursor for select sb_Code,phone from UserRegister --打开游标 open myCur --声明变量接收数据 declare @sb_Code varchar(50) declare @phone varchar(50)原创 2006-11-15 10:24:00 · 1393 阅读 · 0 评论 -
更新字符串列表中,指定位置的字符串
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[f_updatestr]) and xtype in (NFN, NIF, NTF))drop function [dbo].[f_updatestr]GO/*--更新字符串列表中,指定位置的字符串 更新字符串列表中,指定位置的字符串为新转载 2006-11-14 14:31:00 · 872 阅读 · 0 评论 -
使用SQL语句获取数据库中随机N个记录
项目中有需要用到随机抽取数据库记录的需求。我考虑了两种方法:1、是使用.net 的Random类的重载方法Next()来生成2、使用SQL Server 的NewID方法给每条记录生成一个唯一码SELECT TOP 10 * FROM table1ORDER BY NEWID()两种方法都可以,我考虑使用数据库的方法转载 2006-11-21 14:52:00 · 1718 阅读 · 0 评论 -
MS SQL Server中的日期格式化大全
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11转载 2007-02-08 11:09:00 · 11729 阅读 · 0 评论 -
将sqlserver中的datetime字段变为yyyy-mm-dd格式字符串的sql语句
declare @birthday varchar(50)set @birthday = substring(convert(char(10),getdate()),7,4)+- +substring(convert(char(10),getdate()),1,2) +-+replace(substring(convert(char(10),getdate()),4,2), ,0原创 2007-01-23 10:09:00 · 6771 阅读 · 2 评论 -
慎用@@IDENTITY
OK,也许大家对SQL Server中的 @@IDENTITY 都不陌生,都知道它是获取数据表中最后一条插入数据的IDENTITY值。比如,表 A 中有个 ID 为自增1的字段,假设此时 ID 的值为100,现在如果我往表A插入一条数据,并在插入后 SEL转载 2007-01-23 14:25:00 · 990 阅读 · 0 评论 -
用LogExplorer恢复数据库过程
原贴地址:http://expert.csdn.net/Expert/topic/2931/2931668.xml 因论坛不允许恢复超过30个帖,故新开此贴 首先答谢lynx1111、leeboyan(宝宝) 、realgz(realgz) 的热心帮助,同时也感谢islandnet(e兔子)、zhijiao(指教)、kkkksunday(我是猪小弟)、shuichangli转载 2007-06-28 15:21:00 · 1823 阅读 · 2 评论 -
用Sum函数对DateTime数据类型字段进行求和统计
declare @t table(TimeLen char(8))insert into @t select 08:32:33insert into @t select 00:00:06insert into @t select 00:00:30insert into @t select 00:00:13insert into @t select 00:00:15insert原创 2007-06-06 18:25:00 · 3782 阅读 · 0 评论 -
如何解决“不是可以识别的 函数名“的问题
declare @rt varchar (200) select @rt=dbo.GetTypeinfoname(1A10,1) --返回值的函数一定要加所有者名 select @rt指出函數的所有者﹐加dbo.指出函數的所有者﹐加dbo.原创 2007-06-13 14:53:00 · 10580 阅读 · 0 评论 -
在sql server如何将日期减一天!
楼主skyi80(skyi80)2002-12-06 00:08:41 在 MS-SQL Server / 基础类 提问查询时,我想将选择出比属于参数少一天的值,我的字段是datetime型的,而我输入的条件是只有日期的,类似:2002-12-30这样的,现在我想将输入的日期减一天,就是2002-12-29,改用什么函数??? ----------------------------转载 2008-11-13 16:33:00 · 36262 阅读 · 1 评论