sql
文章平均质量分 71
百炼成钢百忍成佛
这个作者很懒,什么都没留下…
展开
-
解决方法:SQL2008 链接服务器 访问接口 "SQLNCLI10" 的架构行集 出错的问题!
问题:执行:select * from [srv_lnk].[database].[dbo].[table]提示:链接服务器"srv_lnk"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "未指定的错误"。链接服务器"srv_lnk"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "在该服务器上找不到完成该操作所需的存储过程。请与系统管理转载 2016-04-22 14:15:43 · 5654 阅读 · 0 评论 -
SQLServer存储过程返回值总结
1. 存储过程没有返回值的情况(即存储过程语句中没有return之类的语句) 用方法int count = ExecuteNonQuery(..)执行存储过程其返回值只有两种情况 (1)假如通过查询分析器执行该存储过程,在显示栏中假如有影响的行数,则影响几行count就是几 (2)假如通过查询分析器执行该存储过程,在显示栏中假如显示'命令已成功完成。'则cou转载 2013-04-16 13:45:49 · 884 阅读 · 0 评论 -
sqlserver获取存储过程返回值
1.OUPUT参数返回值[sql] view plaincopyCREATE PROCEDURE [dbo].[nb_order_insert]( @o_buyerid int , @o_id bigint OUTPUT ) AS BEGIN SET NOCOUNT ON; BEGIN INSE转载 2013-04-16 13:44:15 · 740 阅读 · 0 评论 -
存储过程和临时表返回结果
临时表是在TempDB中创建的表。临时表的名称都以“#”开头。临时表的范围为创建临时表的连接。因为,临时表不能在两个连接之间共享,一旦连接关闭,临时表就会被丢弃。如果临时表被创建于存储过程之中,则临时表的范围在存储过程之中,或者被该存储过程调用的任何存储过程之中。如果需要在连接之间共享临时表,则需要使用全局的临时表。全局的临时表以“##”符号开头,它将一直存在于数据库中,直到SQL Server重转载 2013-04-15 10:54:17 · 1487 阅读 · 0 评论 -
Sql Server日期时间函数
在SQL数据库中,有一类函数是不得不提的,那就是Sql Server日期时间函数,这是Sql Server处理日期和时间最常用的函数,下面就将为介绍这类函数。Sql Server日期与时间函数:当前日期加上一个月:dateadd(month,1,getdate()). 当前系统日期、时间 select getdate() 2. datead转载 2013-03-25 16:50:46 · 774 阅读 · 0 评论 -
SQL----类似Split函数的实现1
CREATE FUNCTION dbo.Split(@Str VARCHAR(8000))RETURNS@List TABLE(OBJECT VARCHAR(100))ASBEGINDECLARE @OBJECT AS VARCHAR(100)WHILE CHARINDEX(',',@Str)>0BEGIN SET @OBJECT=SUBSTRING(@Str,1,CHARI转载 2013-03-25 09:37:16 · 686 阅读 · 0 评论 -
SQL 语句大全
SQL 语句 语句语法AND / ORSELECT column_name(s)FROM table_nameWHERE conditionAND|OR conditionALTER TABLE (add column)ALTER TABLE table_name ADD column_name datat转载 2013-03-29 18:02:09 · 606 阅读 · 0 评论 -
SQL 自定义Split函数
在给文章加自定义标签时,需要在存储过程中对输入的字符串按照“,”字符分割成一个字符数组。但是Sql中没有实现字符串分组的Split方 法。因此就需要编写一个自定义的Split函数。我首先是使用表值函数的方法实现的字符串分组,但是在使用中感觉不是很方便。后来又在网上找到了一种使用 两个标量函数,其中一个函数首先返回分割后字符数组的长度,另一个函数依次返回每个分割出的字符串。然后使用循环依次获取分割的转载 2013-03-11 13:18:24 · 627 阅读 · 0 评论 -
用SQL语句添加删除修改字段
1.增加字段 alter table docdsp add dspcodechar(200)2.删除字段 ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型 ALTER TABLE table_name ALTER COLUMNcolumn_name new_data_t转载 2013-03-05 09:30:20 · 663 阅读 · 0 评论 -
SQL查找删除重复行
本文讲述如何查找数据库里重复的行。这是初学者十分普遍遇到的问题。方法也很简单。这个问题还可以有其他演变,例如,如何查找“两字段重复的行”(#mysql IRC 频道问到的问题)如何查找重复行第一步是定义什么样的行才是重复行。多数情况下很简单:它们某一列具有相同的值。本文采用这一定义,或许你对“重复”的定义比这复杂,你需要对sql做些修改。本文要用到的数据样本create tab转载 2013-02-18 08:08:32 · 433 阅读 · 0 评论 -
SQL Server 触发器概述
什么是触发器: 触发器是一种特殊类型的存储过程,它在指定的表中的数据发生变化时自动生效。本节将介绍触发器的基本概念,以及创建和管理触发器的方法。 触发器是一个在修改指定表值的数据时执行的存储过程,不同的是执行存储过程要使用EXEC语句来调用,而触发器的执行不需要使用EXEC语句来调用,通过创建触发器可以保证不同表中的逻辑相关数据的引用完整性或一致性。转载 2013-02-01 13:39:09 · 668 阅读 · 0 评论 -
SQLSERVER存储过程基本语法
一、定义变量view sourceprint?--简单赋值declare @aintset @a=5print @a --使转载 2013-04-16 09:13:19 · 632 阅读 · 0 评论 -
用convert函数日期转化
在实际的应用中,大家可能经常会使用convert函数将长日期转化为短日期,如果只要取yyyy-mm-dd格式时间, 我们可以选择使用 convert(nvarchar(10),field,120)。注释:120 是格式代码, nvarchar(10) 是指取出前10位字符.SELECT CONVERT(nvarchar(10), getdate(), 120)转载 2013-04-25 16:53:57 · 676 阅读 · 0 评论 -
Sql Server查询指定范围(一周、一月、本周、本月等)内的数据
查询当天日期在一周年的数据select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 查询当天的所有数据select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0转载 2016-04-29 14:37:27 · 5682 阅读 · 0 评论 -
SQL中PIVOT 行列转换
SQL中PIVOT 行列转换更多2014/2/16 来源:SQL学习浏览量:15109学习标签: PIVOT SQL本文导读:T-SQL语句中,Pivot运算符用于在列和行之间对数据进行旋转或透视转换,PIVOT命令可以实现数据表的列转行,同时执行聚合运算,UNPIVOT则与其相反,实现数据的行转列。PIVOT通过将表达式某一列中的唯一值转换为输出中的多转载 2016-03-11 10:24:06 · 706 阅读 · 0 评论 -
SQL Server日期函数总结
获得一个月的天数:首先到得一个月最后一天的日期,通过 SQL Server 日期函数 day() 取得日期中的“天 ”部分获得 2008 年 2 月份的天数:select day(cast('2008-03-01' as datetime) - 1)获得本月天数:返回一个整数,该整数表示指定的 date 是该月份的哪一天。select day(dateadd转载 2016-02-05 08:37:25 · 719 阅读 · 0 评论 -
存储过程详解
存储过程简介什么是存储过程:存储过程可以说是一个记录集吧,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程的好处:1.由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比T-SQL语句高。转载 2016-01-13 09:20:46 · 1316 阅读 · 0 评论 -
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服
SQL Server 阻止了对组件 /'Ad Hoc Distributed Queries/' 的访问 在Sql Server中查询一下Excel文件的时候出现问题:SELECT * FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=D:/a.xls',[sheet1转载 2014-10-21 15:53:45 · 665 阅读 · 0 评论 -
SQLServer 中Case When的用法
Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END这两种方式,可以实现相同的功能。简单Cas转载 2013-05-13 10:24:43 · 735 阅读 · 0 评论 -
数据库基本SQL语句大全
数据库基本----SQL语句大全一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC转载 2013-05-07 13:37:29 · 637 阅读 · 0 评论 -
ms sql server2005 系统表知多少
sql server 2005系统表详细说明 sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序sysconfigures 主数据库 配置选项 syscurconfigs 主数据库当前配置选项 sysdatabases 主数据库服务器中的数据库 syslanguages 主数据库语言 s转载 2013-04-28 11:14:42 · 932 阅读 · 0 评论 -
SQL函数说明大全
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果。这些要求包括:执行计算与数学运算、转换数据、解析数值、组合值和聚合一个范围内的值等。下表给出了T-SQL函数的类别和描述。函数类别作用聚合函数执行的操作是将多个值合并为一个值。例如 COUNT、SUM、MIN 和 MAX。转载 2013-04-26 14:05:37 · 748 阅读 · 0 评论 -
sqlserver函数大全
SQL2008 表达式:是常量、变量、列或函数等与运算符的任意组合。1. 字符串函数函数 名称 参数 示例 说明ascii(字符串表达式)select ascii('abc') 返回 97返回字符串中最左侧的字符的ASCII 码。char(整数表达式)select char(100) 返回 d把ASCII 码转换为字符。介于0转载 2013-04-26 14:01:58 · 723 阅读 · 0 评论 -
SQL对Xml字段的操作
T-Sql操作Xml数据一、前言SQL Server 2005 引入了一种称为 XML 的本机数据类型。用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列;此外,还允许带有变量和参数。为了更好地支持 XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象 (BLOB)。用户将一个XML数据存入数据库的时候,可以使用这个XML的转载 2013-01-08 18:18:58 · 436 阅读 · 0 评论 -
Sql Server起今为止最全的【日期函数大全】!(超经典,全部为示例)
select convert(varchar(10),getdate(),120) -- 只返回当前日期,且为2012-12-12格式(最有用) datediff(day,createdate,GetDate())=0 -- 判断是否当天,createdate为日期字段 --转载 2013-01-02 09:40:34 · 577 阅读 · 0 评论 -
SQL Server中使用DISTINCT的大小写问题
SQL Server为你提供了在你的数据库中存储混合大小写数据的能力,但是根据你怎样创建数据库,SQL Server将在你给出T-SQL命令时忽视大小写。你可能面对的一个问题是你想从一个表获得只包含不同值的列表,来显示你的表中不同,但是如果你的数据库是按照不区分大小写来建立的,那么DISTINCT条件语句不会显示这些不同,它只会将所有的值放在一起。所以在这方面有什么选择吗? 专家解答转载 2012-12-13 14:21:31 · 2136 阅读 · 0 评论 -
SQL重复记录查询(转载)
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 例二: select *from testtable wher转载 2012-04-17 15:19:22 · 377 阅读 · 0 评论 -
ROW_NUMBER() OVER函数的基本用法
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号。示例: xlh row_num转载 2011-12-30 18:30:56 · 440 阅读 · 0 评论 -
在SQL Server2005中按列连接字符串的三种方法
最近做一个项目,遇到一个在分组的情况下,将某一列的字段值(varchar类型)连接起来的问题,类似于sum函数对int型字段值求和。如有一个表t_table,结构和数据如图1 图1 其中要按着xh字段分组,并且将每一组name字段值连接起来。最终结果希望如图2所示转载 2011-12-30 18:25:11 · 660 阅读 · 0 评论 -
四个排名函数(row_number、rank、dense_rank和ntile)的比较
排名函数是SQL Server2005新加的功能。在SQL Server2005中有如下四个排名函数:1. row_number2. rank3. dense_rank4. ntile 下面分别介绍一下这四个排名函数的功能及用法。在介绍之前假设有一个t_table表,表结构与表中的数据如图1所示:图1其中field1字段的类型是int,转载 2011-12-30 18:22:20 · 578 阅读 · 0 评论 -
SQL Server 排序函数 ROW_NUMBER和RANK 用法总结
1.ROW_NUMBER()基本用法:SELECTSalesOrderID,CustomerID,ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumberFROM Sales.SalesOrderHeader结果集:SalesOrderID CustomerID RowNumber--------------- -转载 2011-12-30 19:31:11 · 591 阅读 · 0 评论 -
将聚合记录集逆时针和顺时针旋转90度
在输出统计结果时可能需要将列变成行,而将聚合结果(如count、sum)作为记录的第一行,先看如下的SQL语句:declare @t table(name varchar(20))insert @tselect 'abc' union allselect 'xxx' union allselect 'xxx' union allselect 'ttt'selec转载 2011-12-30 18:30:15 · 906 阅读 · 0 评论 -
SQLSERVER2005的ROW_NUMBER具体使用[转]
SQL code --NND,索性把2005的一起帖出来. ROW_NUMBER、RANK、DENSE_RANK的用法 (爱新觉罗.毓华 2007-12-16 广东深圳) SQL Server 2005 引入几个新的排序(排名)函数,如ROW_NUMBER、RANK、DENSE_RANK等。 这些新函数使您可以有效地分析数据以及向查询的结果转载 2011-12-30 19:13:44 · 444 阅读 · 0 评论 -
公用表表达式(CTE)的递归调用
先看如下一个数据表(t_tree): 上图显示了一个表中的数据,这个表有三个字段:id、node_name、parent_id。实际上,这个表中保存了一个树型结构,分三层:省、市、区。其中id表示当前省、市或区的id号、node_name表示名称、parent_id表示节点的父节点的id。 现在有一个需求,要查询出某个省下面的所有市和区(查询结果包含省)。如果只使用SQ转载 2011-12-30 18:24:09 · 748 阅读 · 0 评论 -
使用公用表表达式(CTE)简化嵌套SQL
先看下面一个嵌套的查询语句:select * from person.StateProvince where CountryRegionCode in (select CountryRegionCode from person.CountryRegion where Name like 'C%') 上面的查询语句使用了一个子查询。虽然这条SQ转载 2011-12-30 17:58:59 · 3768 阅读 · 0 评论 -
SqlServer 函数 大全
SqlServer 函数 大全 sql server使用convert来取得datetime日期数据 sql server使用convert来取得datetime日期数据,以下实例包含各种日期格式的转换 语句及查询结果: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(v转载 2012-07-11 17:39:37 · 1759 阅读 · 0 评论 -
数据库select经典题目
null不能用==或者!=比较 ,必须用 is null 或者is not nullrownum 返回当前行号 rowid是一个伪列,一般情况用不到,但是当需要具体锁定某一行时,它非常有用,因为它的值绝对不会重复,rowid 类似于hashcode 定位列在内存中的数据。 between and 是>= , 效率低,用的少,一般是直接>= in的效率比较低 推荐转载 2012-08-07 19:44:05 · 1459 阅读 · 0 评论 -
SQL Server XML基础学习之<6>--XML modify() 方法对 XML 数据中插入、更新或删除
/*------------------------------------------------------------------------------+ #| = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : | #|{>/---------------------------转载 2012-11-23 18:00:36 · 2789 阅读 · 0 评论 -
Sql cookbook学习笔记
第六章 使用字符串--6.7 提取姓名的大写首字母缩写SELECT replace( translate( REPLACE('Dylan Xu', ' ','.'),'abcdefghijklmnoopqrstuvwxyz', rpad('#',26,'#')), '#') || '.' FROM dual;--6.8 按照字符串转载 2012-11-23 11:29:30 · 441 阅读 · 0 评论 -
SQL server 2008 关于XML类型数据 功能总结及性能测试
一、SQL Server 对XML数据功能支持SQL Server 2000 对XML 的支持在SQL Server2000 中,标准的T-SQL Select 语句引入了FOR XML 子句,FOR XML 是Select 语句的扩展,返回的查询结果是XML 流,它以XML 文档形式形成一个查询结果集。FOR XML 子句有三种模式Raw、Auto 和Explicit,每个都能对XML转载 2012-11-23 11:28:13 · 707 阅读 · 0 评论