
SQL Server
zwk_9
希望能和更多的csdn人一起学习,共同提高。
展开
-
sql XML操作
--1.modify()DECLARE @x XMLSELECT @x = ''DECLARE @SEX NVARCHAR(10)SELECT @SEX = '男'SET @x.modify(' replace value of (/People/@SEX)[1] with sql:variable("@SEX")')转载 2015-03-26 10:07:39 · 680 阅读 · 0 评论 -
随机产生时间的SQL函数
if exists(select * from sysobjects where name = 'gettime') drop proc gettimegocreate procedure gettime @begintime varchar(5), @EndTime varchar(5), @randtime varchar(5) output as set转载 2012-03-27 12:53:30 · 1007 阅读 · 0 评论 -
SQL语句:选择分类后的第一条记录
表名:db aa bb cc3024594 45.00 Y 3024594转载 2012-02-02 14:16:50 · 2750 阅读 · 0 评论 -
sql 2005删除重复记录 保留其中一条
有个friend表,字段有id,userid,friendid,status,id只是用来标识的,userid和friendid是varchar类型的,status是int类型的示例如下:id userid friendid status1 TERRY 123 12 TERR转载 2011-11-07 14:54:01 · 932 阅读 · 0 评论 -
SQL Server 2005 不允许远程连接解决方法
刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:"在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) "搜MSDN,上面有一片机器翻译的文章,是在让人难以明白,现在总结如下:明白了SQL转载 2011-11-04 14:15:46 · 324 阅读 · 0 评论 -
数据库设计的三大范式
为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式第一范式是最基转载 2011-10-13 11:23:28 · 634 阅读 · 0 评论 -
Ad Hoc Distributed Queries未启动 解决方法
在执行openrowset/opendatasource时出的错。SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配转载 2011-09-28 09:11:32 · 838 阅读 · 0 评论 -
SQL查询一个月第一天/最后一天
SQL查询一个月第一天/最后一天1.一个月第一天的Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)2.本周的星期一Select DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)3原创 2011-09-16 10:39:39 · 4928 阅读 · 0 评论 -
怎么在SQL中把查询结果用中文表示年月日
select cast(datepart(yyyy,getdate()) as nvarchar)+N'年'+cast(datepart(mm,getdate()) as nvarchar)+N'月'+cast(datepart(dd,getdate()) as nvar转载 2011-09-16 14:36:15 · 6576 阅读 · 1 评论 -
sql日期格式化
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06SELECT CONVERT(var转载 2011-09-16 10:41:27 · 604 阅读 · 0 评论 -
sql server sysobjects xtype类型
C = CHECK 约束D = 默认值或 DEFAULT 约束F = FOREIGN KEY 约束L = 日志FN = 标量函数IF = 内嵌表函数P = 存储过程PK = PRIMARY KEY 约束(类型是 K)RF = 复制筛选存储过程S = 系统表TF = 表函数TR = 触发器U = 用户表UQ = UNIQUE 约束(类型是 K)转载 2012-06-06 07:29:05 · 473 阅读 · 0 评论 -
sql 全角转半角
if exists(select * from sysobjects where name = 'F_Ctofchar')drop function F_CtofchargoCreate FUNCTION [dbo].[F_Ctofchar]( @str NVARCHAR(4000), --要转换的字符串 @flag bit转载 2012-06-16 15:01:52 · 848 阅读 · 0 评论 -
SQL Server 2005 COM+ 目录要求 警告
①。启动Distributed Transaction Coordinator 服务 http://hi.baidu.com/08到北京 打开服务,在服务中找到Distributed Transaction Coordinator服务,选择“属性”; 在“登录”选项卡中,选择“此帐户”,帐户名填写“NT AUTHORITY\NetworkService转载 2012-07-02 09:16:54 · 699 阅读 · 0 评论 -
sql server2005中的try与catch
declare @product_date datetime --生产日期declare @product_dateStr varchar(20) --生产日期set @product_dateStr = '0014120' begin try set @product_date = convert(datetime, @product_dateStr)原创 2014-11-10 13:20:21 · 521 阅读 · 0 评论 -
sql 将逗号分割的字符串存入临时表
declare @tempstr varchar(max)set @tempstr=N'54,57,55,56,59'set @Xmlstr=ConVERT(xml,'' + REPLACE(@tempstr, ',', '') + '')原创 2014-08-14 15:53:27 · 2179 阅读 · 0 评论 -
sql 生成拼音简码函数
if exists(select * from sysobjects where name = 'fun_getPY') drop function fun_getPYgocreate function fun_getPY(@str nvarchar(4000)) returns nvarchar(4000) asbegin declare @word nchar(1转载 2014-08-07 17:02:21 · 4212 阅读 · 0 评论 -
在sql server中利用with as实现递归功能
在sql server中利用with as实现递归功能 在sqlserver2005之前,要实现递归功能比较麻烦,比如可能会要用到临时表与while语句来循环。自sqlserver2005之后,新增了with as功能语法,即 公用表达式(CTE),让递归实现起来变的简单了。 本章我们主要演示如何利用with as功能实现一个简单的递归功能。 --开始实例演示--转载 2014-07-07 17:31:36 · 550 阅读 · 0 评论 -
SQL中使用WITH AS提高性能
摘要:本文结合笔者实际的工作情况,说明了如何使用with as改写存储过程,从而大幅提高SQL的运行时间。本文首先交代了案例的起因,随后简单介绍了WITH AS的含义,最后基于实际工作,使用了一个测试用例来说明如何使用WITH AS。1. 案例起因 公司门店应用程序每天都要出一份报表,用来统计所有商品当天的期初库存数量、入库数量、出库数量 及当天的期末库存数量。运行半年以后,这转载 2014-07-07 19:00:47 · 548 阅读 · 0 评论 -
UniqueIdentifier数据类型
SQL Server为我们提供了UniqueIdentifier数据类型,并提供了一个生成函数NEWID( ),使用NEWID( )可以生成一个唯一的UniqueIdentifier。UniqueIdentifier在数据库中占用16个字节,出现重复的概率非常小,以至于可以认为是0。我们经常从注册表中看到类似{45F0EB02-0727-4F2E-AAB5-E8AEDEE0CEC5}转载 2014-07-25 14:09:30 · 842 阅读 · 0 评论 -
无法解决 equal to 操作中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_BIN" 之间的排序规则冲突
事例:select jiaban_sq_z_01 from oa..jiaban_sq_z_01 where cundang='完成' and jbrq>='2011-01-01' andjiaban_sq_z_01002 not in (select danhao from hh..kq_jb_qj)这是因为数据库 oa 和 hh 的编码格式不一样导致的改为:原创 2013-11-27 10:04:18 · 27334 阅读 · 1 评论 -
SQLServer中SYSCOLUMNS表的各个字段的意义
列名 数据类型 描述 name sysname 列名或过程参数的名称。 id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。 xtype tinyint systypes 中的物理存储类型。 typestat tinyint 仅限内部使用。 xusertype smallint 扩展的用户定义数据类型 I转载 2012-08-31 12:49:50 · 7235 阅读 · 0 评论 -
SQL Server 2005 安装程序无法获取 ASP.NET 帐户的系统帐户信息
今天在Windows XP上安装SQL Server 2005时弹出一个错误提示信息:“SQL Server 2005 安装程序无法获取 ASP.NET 帐户的系统帐户信息.若要继续,请重新安装 .NET Framework,然后再次运行 SQL Server 安装程序。”这个错误提示信息还是很好懂的,难道我的“asp.net账户”有问题?进入“控制面板”>“管理工具”>“计算机管理”>“本地用户转载 2012-07-02 09:17:55 · 2446 阅读 · 0 评论 -
sql server 2005 如何恢复被质疑的数据库
1. 找到数据库文件路径,停止数据库服务,把文件拷出来;2. 开启数据库服务,删除原数据库,创建一个与被删除数据库同名的数据库;3. 停止数据库服务,用原数据库的mdf文件替换新数据库的mdf文件,并删除新数据库的ldf文件;4. 开启数据库服务,sql server原创 2011-08-16 07:09:13 · 907 阅读 · 0 评论 -
深入讲解数据库中User和Schema的关系
<br /> 假如我们想了解数据库中的User和Schema究竟是什么关系,首先必须了解一下数据库中User和Schema到底是什么概念。 <br /> 在SQL Server2000中,由于架构的原因,User和Schema总有一层隐含的关系,让我们很少意识到其实User和Schema是两种完全不同的概念,不过在SQL Server2005中这种架构被打破了,User和Schema也被分开了。 <br /> 首先我来做一个比喻,什么是Database,什么是Schema,什么是Table,什么是列,转载 2011-04-22 11:29:00 · 422 阅读 · 0 评论 -
sql系统表syscolumns中 xtype 所有值对应的类型名称
xtype 类型34 image35 text36 uniqueidentifier48 tinyint52 smallint56 int58 smalldatetime59 real60 money61 datetime62 float98 sql_variant99 ntext104 bit106 decimal108 numeric122 smallmoney127 bigint165 varbinary167 va转载 2011-06-02 11:00:00 · 3981 阅读 · 1 评论 -
SET ANSI_NULLS ON 与 SET QUOTED_IDENTIFIER ON
<br />SET ANSI_NULLS ON <br />GO <br />SET QUOTED_IDENTIFIER ON <br />GO<br /> 这些是 SQL-92 设置语句,使 SQL Server 2000/2005 遵从 SQL-92 规则。 <br /> 当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 <br />SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须符合转载 2010-10-25 12:38:00 · 573 阅读 · 0 评论 -
dateadd问题
<br />dateadd("d", -1, getdate()))在较长的存储过程中容易出问题,<br />应写成dateadd(day, -1, getdate()))原创 2010-12-16 09:45:00 · 412 阅读 · 0 评论 -
理解SQL_Server系统表sysobjects
<br />关于SQL Server数据库的一切信息都保存在它的系统表格里。我怀疑你是否花过比较多的时间来检查系统表格,因为你总是忙于用户表格。但是,你可能需要偶尔做一点不同寻常的事,例如数据库所有的触发器。你可以一个一个地检查表格,但是如果你有500个表格的话,这可能会消耗相当大的人工。<br />这就让sysobjects表格有了用武之地。虽然我不建议你更新这个表格,但是你当然有权对其进行审查。<br />在大多数情况下,对你最有用的两个列是sysobjects.name和sysobjects.xtyp转载 2010-10-22 09:35:00 · 366 阅读 · 0 评论 -
sql_constraint
<br />约束种类<br />每一种约束的作用的了解演示。<br /> <br /> 非空约束<br /> 唯一性约束<br /> 检查约束<br /> 主键约束 -- 每个表要有主键,唯一的标识一行数据,主键的特点非空并且唯一<br /> 外键约束 外键引用的列一定是主键或有unique约束的列<br /> <br /> 脚本(SCRIPT)<br /> 列级约束并且非空约束(非空约束的特点是不能为null)<br /> create t转载 2010-10-22 09:56:00 · 3835 阅读 · 0 评论 -
自动编号数值类型
<br />id Int Not nul Identity原创 2010-12-07 15:58:00 · 940 阅读 · 0 评论 -
sql TRUNCATE 和 delete 的区别
<br />TRUNCATE TABLE 和不带 WHERE 的 DELETE 功能是一样的,都是删除表中的所有数据,不过 TRUNCATE TABLE 速度更快,占用的日志更少,这是因为 TRUNCATE TABLE 直接释放数据页并且在事务日志中也只记录数据页的释放,而 DELETE 是一行一行地删除,在事务日志中要记录每一条记录的删除。那么可不可以用 TRUNCATE TABLE 代替不带 WHERE 的 DELETE 呢?在以下情况是不行的: 1、要保留标识的情况下不能用 TRUNCATE TABL转载 2010-12-02 16:41:00 · 391 阅读 · 0 评论 -
sql中函数over()和row_number()的用法
<br />select row_number()over(order by xxxx) from xxxx;转载 2010-09-26 14:23:00 · 553 阅读 · 0 评论 -
SQL charindex的用法
<br />返回字符串中指定表达式的起始位置。 <br /><br />语法 <br />CHARINDEX ( expression1 , expression2 [ , start_location ] ) <br /><br />参数 <br />expression1 <br /><br />一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。 <br /><br />expression2 <br /><br />一个表达式,通常是一个用于搜索指定序列转载 2010-09-27 09:14:00 · 528 阅读 · 0 评论 -
substring()函数的作用与用法
<br />返回字符、二进制、文本或图像表达式的一部分。 <br /><br /> 语法 <br /><br />SUBSTRING ( expression, start, length ) <br /><br /> 参数 <br />expression <br />字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。<br /><br />start <br />整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置。<br /><br />length <b原创 2010-09-27 09:12:00 · 2455 阅读 · 0 评论 -
SET NOCOUNT ON
<br />当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。<br />如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。转载 2010-10-25 12:39:00 · 329 阅读 · 0 评论 -
sp_helptext
<br />sp_helptext<br />显示规则、默认值、未加密的存储过程、用户定义函数、触发器或视图的文本。<br />语法<br />sp_helptext [ @objname = ] 'name'<br />参数<br />[@objname =] 'name'<br />对象的名称,将显示该对象的定义信息。对象必须在当前数据库中。name 的数据类型为 nvarchar(776),没有默认值。 <br />返回代码值<br />0(成功)或 1(失败)<br />结果集<br />列名 数据转载 2010-10-25 12:39:00 · 1567 阅读 · 0 评论 -
SQL中DATALENGTH 用法
<br />返回任何表达式所占用的字节数。<br />语法<br />DATALENGTH ( expression ) <br />参数<br />expression<br />任何类型的表达式。<br />返回类型<br />int<br />注释<br />DATALENGTH 对 varchar、varbinary、text、image、nvarchar 和 ntext 数据类型特别有用,因为这些数据类型可以存储<br />可变长度数据。<br />NULL 的 DATALENGTH 的结果是 N转载 2010-10-25 12:40:00 · 1163 阅读 · 0 评论 -
sql获取第n行——游标实现
<br />set nocount on<br />--建立测试环境并插入数据,并且表没有主键<br />createtable test(id int ,name varchar(10))<br />insertinto test select999,'jinjazz' <br />insertinto test select888,'csdn'<br />insertinto test select999,'sqlserver'<br /><br />--通过游标获取绝对行数<br />declar转载 2011-04-13 14:05:00 · 871 阅读 · 0 评论 -
SQLServer陷阱
<br />一, NULL与布尔数据类型<br />Transact-SQL中存在Boolean类型, if 后面的表达式的计算结果一般是Boolean类型, 但无法使用 declare 定义Boolean类型的变量.<br /><br />Boolean数据类型有三种取值, TRUE, FALSE, UNKNOWN, 第3种取值通常会被人忽视从而导致逻辑错误.<br />默认情况下SET ANSI_NULLS为ON, 在逻辑表达式中如果你忽略了NULL的存在, 结果可能会异于你所想.<br />例1: S转载 2011-04-08 17:19:00 · 928 阅读 · 0 评论 -
SQL函数设计之临时表的使用
<br />if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GETALL]') and xtype in (N'FN', N'IF', N'TF'))<br />drop function [dbo].[GETALL]<br />GO <br />--根据起始时间选择设定量、实出量、地面实出量以及出现0的情况,以查看故障信息<br />CREATE FUNCTION GETALL(@dateStart datetim转载 2011-01-24 16:03:00 · 461 阅读 · 0 评论