代码改变世界

随笔分类 -  SQL

SQL、Oracle中处理字符串函数

2012-07-03 17:59 by calm_水手, 893 阅读, 收藏,
摘要: 1.绝对值 SQL:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001) value from dual 4.取整(截取) S:select cast(-1.002 as int) value O:select trunc(-1.002) value fro... 阅读全文

SQL中FOR XML子句的各种用法,包括FOR XML字句的四种基本模式:AUTO模式、RAW模式、PATH模式和EXPLICIT模式

2011-06-07 16:20 by calm_水手, 716 阅读, 收藏,
摘要: FOR XML子句有四种最基本的模式1、AUTO模式:返回数据表为起表名的元素,每一列的值返回为属性;为输出的XML文档添加根元素(Root element)eg:select columnNames from tbleName for xml auto,root('rootName')2、RAW模式:返回数据行为元素,每一列的值作为元素的属性;将元素命名为自定义名称。eg: select columnsName from tableName forxml raw('New_columnsName')3、PATH模式:通过简单的XPath语法来允许用户自定义嵌套 阅读全文

SQL CURSOR 同时选择多列值

2011-05-23 20:04 by calm_水手, 437 阅读, 收藏,
摘要: DECLARE @ofId int,@Amount decimal(18,2),@OrderID varchar(20)DECLARE curOfId CURSOR FOR SELECT lotOfId,lotWinMoney,t1.lotOrderIDFROM IP_OrderLottery AS t1 INNER JOIN View_OfficeInfo_CityCountry AS t2ON t1.lotOfId=t2.ofIdWHERE t1.lotIsUpdateReward=0 OPEN curOfId FETCH NEXT FROM curOfId INTO @ofId,@Amo 阅读全文

OVER 子句 (Transact-SQL)

2011-04-26 10:32 by calm_水手, 340 阅读, 收藏,
摘要: 确定在应用关联的开窗函数之前,行集的分区和排序。适用范围:排名开窗函数聚合开窗函数有关详细信息,请参阅聚合函数 (Transact-SQL)。语法:Ranking Window Functions < OVER_CLAUSE > :: =OVER ( [ PARTITION BY value_expression , ... [ n ] ]<ORDER BY_Clause> )Aggregate Window Functions < OVER_CLAUSE > :: = OVER ( [ PARTITION BY value_expression , ... 阅读全文

sql 分隔字符串

2011-03-17 11:03 by calm_水手, 264 阅读, 收藏,
摘要: CREATEFUNCTIONdbo.fnSplit(@sInputListVARCHAR(8000),--Listofdelimiteditems@sDelimiterVARCHAR(8000)=','--delimiterthatseparatesitems)RETURNS@ListTABLE(itemVARCHAR(8000))BEGINDECLARE@sItemVARCHAR(8000)WHILECHARINDEX(@sDelimiter,@sInputList,0)<>0BEGINSELECT@sItem=RTRIM(LTRIM(SUBSTRING(@sIn 阅读全文

SQL 语句的执行效率

2011-01-22 16:17 by calm_水手, 899 阅读, 收藏,
摘要: 1、操作符号: NOT IN操作符此操作是强列推荐不使用的,因为它不能应用表的索引。推荐方案:用NOT EXISTS 或(外连接+判断为空)方案代替 "IS NULL", "", "!=", "!", "!", "NOT", "NOT EXISTS", "NOT IN", "NOT LIKE", "LIKE '%500'",因为他们不走索引全是表扫描。NOT IN会多次扫描表,使用EXISTS、NOT EXISTS、IN、LEFT OUTER JOIN来替代,特别是左连接,而Exists比IN更快,最慢的是NOT操作。 如果列的值含有空,以前它的索引不起作用,现在2000的优化器能够处 阅读全文

sql 动态修改查询条件

2010-11-08 16:55 by calm_水手, 571 阅读, 收藏,
摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1setANSI_NULLSON2setQUOTED_IDENTIFIERON3go456--============================================7--Author... 阅读全文

触发器Deleted表和Inserted表

2010-08-22 16:57 by calm_水手, 385 阅读, 收藏,
摘要: [代码]上面的例子是在执行更新操作的时候同时更新,一下修改时间。关键在于Inserted表触发器语句中使用了两种特殊的表:deleted表和inserted表。Deleted 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。Insert... 阅读全文

SQL ISNULL() 函数

2010-07-27 12:13 by calm_水手, 316 阅读, 收藏,
摘要: 用sql 语句从数据表中筛选数据时,希望对返回结果是Null的情形进行处理,这个时候需要用ISNULL()函数进行处理。ISNULL ( check_expression , replacement_value )check_expression将被检查是否为 NULL 的表达式。check_expression可以为任何类型。replacement_value当check_expression为... 阅读全文

SQL for xml [raw 、path、auto] [Elements]

2010-04-25 23:33 by calm_水手, 864 阅读, 收藏,
摘要: 很多人对Xpath可能比较熟悉,但不知道有没有直接操作过数据库,我们都知道 在Sql2005里公支持的几种查询有Raw,Auto模式,页并没有Path和Elements用法等,如果在2000里使用过 Raw模式的朋友应该知道,是不容易处理查询结果的,那么在2005里对这一块做了很好的提升 我先来介绍一下什么是Sql For Xml吧,我们大多时候都会有这种情况,想把表里的数据转化成Xml格式的,... 阅读全文

SQL2005 用户自定义类型

2010-04-20 16:05 by calm_水手, 1064 阅读, 收藏,
摘要: 之前对这个“用户自定义类型”只是有所耳闻,没有机会用过,也没有自己动手去写过。今天朋友让我写一个简单的“用户自定义类型”,呵呵,糗了。 下面是目前对它的了解。  在VS2008中新建项目选择“数据库”—“SQL Server项目”,上面的combobox选择".NET Framework2.... 阅读全文

sql Convert方法 修改时间显示格式

2010-04-01 23:22 by calm_水手, 455 阅读, 收藏,
摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1-... 阅读全文

导入Excle数据至数据库 “外部表不是预期的格式”错误信息

2010-04-01 23:10 by calm_水手, 4871 阅读, 收藏,
摘要: 在操作excel将数据从外部导入到数据库时,刚开始操作的没有问题的,却报出了:“外部表不是预期的格式”错误信息。仔细查看excel没有问题,查阅资料,发现有人说:[代码]文章出处:http://www.cnblogs.com/Fly-sky/archive/2009/11/03/1595227.html附上导入excel数据的代码:代码 Code highlighting ... 阅读全文

Bulk Insert的用法

2010-03-16 15:25 by calm_水手, 476 阅读, 收藏,
摘要: 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1/*******导出到excel*/2EXECmaster..xp_cmdshell'bcpSettleDB.dbo.shanghuoutc:\temp1.xls-c-q-S"GNETDATA/G... 阅读全文

sql中的数据类型转换

2010-03-05 11:29 by calm_水手, 581 阅读, 收藏,
摘要: SQL字符串函数大全-数据类型转换函数在一般情况下,SQL Server 会自动完成数据类型的转换,例如,可以直接将字符数据类型或表达式与DATATIME 数据类型或表达式比较当表达式中用了INTEGER、 SMALLINT或TINYINT 时,SQL Server 也可将INTEGER 数据类型或表达式转换为SMALLINT数据类型或表达式,这称为隐式转换。如果不能确定SQL Server 是否... 阅读全文

SQL查询语句常用总结

2010-02-26 10:51 by calm_水手, 468 阅读, 收藏,
摘要: 一、 简单查询   简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。   例如,下面的语句查询testtable表中姓名为 "张三 "的nickname字段和email字段。   SELECT nickname,email   FROM testtable   WHERE name= '张三 '  ... 阅读全文

实用的SqlHelper类

2010-01-23 17:38 by calm_水手, 338 阅读, 收藏,
摘要: 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;4usingSystem.Data;5usingSystem.Data... 阅读全文

存储过程的循环嵌套(密保卡矩阵)

2009-12-17 02:56 by calm_水手, 385 阅读, 收藏,
摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1--=================================================2--Auther:byJianwenSha3--Creatdate:2009-8-284--D... 阅读全文

SQL操作字符串及数字汇总

2009-12-17 02:37 by calm_水手, 449 阅读, 收藏,
摘要: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1--===========字符串使用汇总================23--将字符串中从某个字符开始截取一段字符,然后将另外一个字符串插入此处4selectstuff('hello,world!... 阅读全文

一条SQL语句查询数据库中的所有表、存储过程、触发器 (sysobjects表信息)

2009-12-12 17:30 by calm_水手, 2921 阅读, 收藏,
摘要: 该条语句查询返回所有的用户表select * from sysobjects where xtype='u'查询系统所有数据表信息select * from sysobjectssysobjects在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。列名数据类型描述namesysname对象名。Idint对象标识号。... 阅读全文