http://xiangai.taobao.com
http://shop148612228.taobao.com

随笔分类 -  数据库

摘要:SQL语句如下:SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.id = 表2.id AND 表2.Name != 'ff' WHERE 表1.NAME != 'aa'步骤1:返回笛卡尔积(SELECT * FROM 表1 CROSS JOIN 表2)步骤2:应用ON筛选器(当前的条件为 表1.id = 表2.id AND 表2.Name != 'ff')步骤3:添加外部行这一步只对OUTER JOIN起作用,如果是LEFT JOIN会以左边的表为保留表,如果是RIGHT JOIN会以右边的表为保留表。所谓外部行是指,保留 阅读全文
posted @ 2012-03-24 16:43 万事俱备就差个程序员 阅读(429) 评论(0) 推荐(0) 编辑
摘要:--1. 构造使用IN子句的动态Transact-SQL方法进行编号查询 --a. 要查询的字段类型是数字型 --查询的值列表 DECLARE @idlist varchar(100) SET @idlist=’1,2,3’ --拼接并执行动态Transact-SQL语句 EXEC(’SELECT * FROM tbname WHERE fdname IN(’+@idlist+’)’) GO --b. 要查询的字段类型是字符型 --查询的值列表已经加上了字符串边界符 DECLARE @idlist varchar(100) SET @idlist=’’’a’’,’’b’’’’a’’,’’c’’ 阅读全文
posted @ 2012-03-14 09:34 万事俱备就差个程序员 阅读(885) 评论(0) 推荐(0) 编辑
摘要:SQL语句中的 "... like '%@strKeyword% ' "这样写查不出结果, 非的写成 "... like '% " + strKeyword + "% ' "才能查出正确结果,难道like子句不能用参数查询吗?string sql="... like @strKeyword"; SqlParameter par=new SqlParameter("@strKeyword","%"+strKeyword+"%" 阅读全文
posted @ 2012-03-14 09:23 万事俱备就差个程序员 阅读(511) 评论(0) 推荐(0) 编辑
摘要:SQL数据表中有savetime(smalldatetime类型)字段,表中有两条记录,savetime值为:2005-3-8 12:12:00和2005-6-6 14:02:02 我用下面语句什么也搜不出来 select * from soft where soft.savetime like'%2005-3-8%' SQL帮助中说: "当搜索 datetime 值时,推荐使用 LIKE,因为 datetime 项可能包含各种日期部分。例如,如果将值 19981231 9:20 插入到名为 arrival_time 的列中,则子句 WHERE arrival_tim 阅读全文
posted @ 2012-03-14 07:34 万事俱备就差个程序员 阅读(2009) 评论(0) 推荐(0) 编辑
摘要:报错的语句: strSql.Append(" AND cu.CurrentSalesMan in (@CurrentSalesMans)"); db.AddParameter("@CurrentSalesMans", GetCommaPartionUserIDs(CurrentSalesMan)); 错误提示:Conversion failed when converting the nvarchar value '1,2,3,4,5,6,9,12,13,15,26,27,28,29' to data type int.可以运行的语句: 阅读全文
posted @ 2012-03-09 19:52 万事俱备就差个程序员 阅读(254) 评论(0) 推荐(0) 编辑
摘要:删除所有的表:如果由于外键约束删除table失败,则先删除所有约束:--/第1步**********删除所有表的外键约束*************************/DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ['+name+']; ' from sysobjects where xtype = 'F' open c1 declare @c1 varchar(8000) fetch nex 阅读全文
posted @ 2012-03-06 10:23 万事俱备就差个程序员 阅读(242) 评论(0) 推荐(0) 编辑
摘要:说完了图情结,不得不说的还有数据库情结。 不论个人采用分层重构系统还是合作开发,都对数据库进行了改造。不得不承认,原来的系统对重构的影响力是比较强的。 在数据库的重构之前,范式是必须看的。目前关系数据库有六种范式,:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进... 阅读全文
posted @ 2012-03-01 13:07 万事俱备就差个程序员 阅读(280) 评论(0) 推荐(0) 编辑
摘要:select count(1) from ( select ROW_NUMBER() over (order by MinuteID) as RowId,*from OA_Minutes WHERE 1=1 and DelFlag='false') as tem select * from OA_Minutes WHERE 1=1 and DelFlag='fa... 阅读全文
posted @ 2012-02-27 15:36 万事俱备就差个程序员 阅读(1664) 评论(0) 推荐(1) 编辑
摘要:在不定数量查询条件情况下,1=1可以很方便的规范语句。例如一个查询可能有name,age,height,weight约束,也可能没有,那该如何处理呢? String sql=select * from table1 where 1=1 为什么要写多余的1=1?马上就知道了。 if(!name.equals("")){ sql=sql+"and name='"+name+"'"; ... 阅读全文
posted @ 2012-02-20 12:07 万事俱备就差个程序员 阅读(317) 评论(0) 推荐(0) 编辑
摘要:SQL中我要搜索例如日期是'2010-01-01 00:00:00'到'2010-12-31 23:59:59'范围内数据 检举 | 2010-12-31 09:56 提问者:六瓦台灯 | 浏览次数:443次 SQL中我要搜索例如日期是'2010-01-01 00:00:00'到'2010-12-31 23:59:59'范围内数据请问SQL语句该如何写,我的财富值已经是0了,问题... 阅读全文
posted @ 2012-02-20 11:32 万事俱备就差个程序员 阅读(477) 评论(0) 推荐(0) 编辑
摘要:原文:http://hi.baidu.com/%D6%EC%D5%F2%B3%C7/blog/item/d58a2ecc7ebd942cf9dc6121.htmlorder by 是对数据进行排序,默认是升序ASC,降序用DESCSELECT select_list[ INTO new_table ] FROM table_source [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING search_condition ]1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用gr 阅读全文
posted @ 2012-02-14 18:29 万事俱备就差个程序员 阅读(485) 评论(0) 推荐(0) 编辑
摘要:Sql Server中的日期与时间函数 ?蒰(寝?1. 当前系统日期、时间 F桗?赝Q? select getdate() 鈙H 倂建 鶞Oh牧/"葵 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 r鯔俏?? 例如:向日期加上2天 ?5皴?煃 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 Ew郬*矝? ?礛娞>??3. datediff 返回跨两个指定日期的日期和时间边界数。 jou秙 溽 select datediff( 阅读全文
posted @ 2012-02-14 18:09 万事俱备就差个程序员 阅读(511) 评论(0) 推荐(0) 编辑
摘要:本周数据:select * from Keywords where datediff(week, Addtime,getdate())=0本月:select * from Keywords where datediff(month, Addtime,getdate())=0本季度:select * from Keywords where datediff(quarter, Addtime,getdate())=0本年:select * from Keywords where datediff(year, Addtime,getdate())=0 阅读全文
posted @ 2012-02-14 18:03 万事俱备就差个程序员 阅读(566) 评论(0) 推荐(0) 编辑
摘要:MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 阅读全文
posted @ 2012-02-10 09:49 万事俱备就差个程序员 阅读(204) 评论(0) 推荐(0) 编辑
摘要:如果想查找“_cs”结尾的的账户select * from [user] where loginname like '%_cs'是不行的,_ 被认为是任意的字符,所以需要转义字符,有两种写法:select * from [user] where loginname like '%[_]cs' select * from [user] where loginname like '%/_cs' escape'/'通配符含义%包含零个或更多字符的任意字符串。_任何单个字符。[ ]指定范围(例如 [a-f])或集合(例如 [abcdef] 阅读全文
posted @ 2012-02-08 11:27 万事俱备就差个程序员 阅读(345) 评论(0) 推荐(0) 编辑
摘要:SQL 的转义字符是:'(单引号)例:select * from tbl where uyear='''06'请注意其中红色背景的单引号,它即表示转义字符,如果我们省略,则整个语句会出错,转义字符不会输出,上例中 uyear 的实际条件值为 '06,而不是 ''06为什么不能省略呢,假如我们省略,上句变成:select * from tbl where uyear=''06'由于在 SQL 中单引号表示字符串的开始和结束符号,于是?SQL 解释器会认为语句中灰色背景的为字符串,其后的语句显然是个错误的语句, 阅读全文
posted @ 2012-02-08 11:24 万事俱备就差个程序员 阅读(18553) 评论(0) 推荐(0) 编辑
摘要:1、作用删除指定长度的字符,并在指定的起点处插入另一组字符。2、语法STUFF ( character_expression , start , length ,character_expression )3、示例以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串SELECT STUFF('abcdef', 2, 3, 'ijklmn') GO下面是结果集aijklmnef4、参数 character_expression一个字符数据表达式。character_e 阅读全文
posted @ 2012-02-03 18:32 万事俱备就差个程序员 阅读(205) 评论(0) 推荐(0) 编辑
摘要:1、left() LEFT (<character_expression>, <integer_expression>) 返回character_expression 左起 integer_expression 个字符。2.charindex() 返回字符串中某个指定的子串出现的开始位置。 CHARINDEX (<’substring_expression’>, <expression>) 其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。 此 阅读全文
posted @ 2012-02-03 18:21 万事俱备就差个程序员 阅读(345) 评论(0) 推荐(0) 编辑
摘要:使用FOR XML PATH来将表中某一列的数据转换为用逗号分隔的字符串,例子如下: Create TABLE #rowconcat ( rowno INT PRIMARY KEY, rowcode VARCHAR(30) )Insert INTO #rowconcat VALUES (1,'one') Insert INTO #rowconcat VALUES (2,'two') Insert INTO #rowconcat VALUES (3,'three') Insert INTO #rowconcat VALUES (4,'fou 阅读全文
posted @ 2012-02-02 11:29 万事俱备就差个程序员 阅读(739) 评论(0) 推荐(0) 编辑
摘要:出处:http://www.cnblogs.com/JCSU/articles/1099177.html8Dju o&jv0+h|FQu5Z(ha6_+w0go 是SYBASE和SQL Server中用来表示事物结束,提交并确认结果,相当于ORACLE的Commit51Testing软件测试网 d ED c%t'K Iw{3W/wM'TD0SQL Server 实用工具将 GO 解释为应将当前的 Transact-SQL 批处理语句发送给 SQL Server 的信号。当前批处理语句是自上一 GO 命令后输入的所有语句,若是第一条 GO 命令,则 阅读全文
posted @ 2012-01-14 11:27 万事俱备就差个程序员 阅读(433) 评论(0) 推荐(0) 编辑


http://xiangai.taobao.com
http://shop148612228.taobao.com
如果您觉得对您有帮助.领个红包吧.谢谢.
支付宝红包
微信打赏 支付宝打赏
点击右上角即可分享
微信分享提示