SQL中Between查询日期时需要注意的地方   某个表某个字段是Datetime型 以"YYYY-MM-DD 00:00:00" 存放 (1).例如数据 2009-01-22 21:22:222009-01-22 19:21:112009-01-22 23:10:22 (2).用 select * from TABLE where date between '2009-1-22' And '2009-1-22' ,想查日期为2009-1-22的记录,结果查不到 (3).问题原因 短…
前段时间准备采用wcf+nh框架开发sl程序,发现采用nh开发不适合我的中型.并且快速开发项目,所以综合考量了下,决定采用wcf+linq to sql . 但是此模式也有缺点,也是linq to sql的缺点,查询语句写起来比较复杂(),只有边摸索,边开发了. 所以第一步就是搭建wcf:,目前我采用的wcf寄宿在一个winform程序,并采用tcp协议(考虑效率问题). 第二步:在wcf服务项目中添加linq to sql 类. 在实现wcf 时,我有个user表和rose表,两个表是关联表,…
当sql中存储的数据量比较大时,在web中 数据显示时都会对数据进行分页,分页不会在客户端进行分页,而是在数据库查询过程中进行了分页. sql代码: DECLARE @pageindex INT; --页码 DECLARE @pagesize INT; --每页显示的记录数量 SET @pageindex=; SET @pagesize=5; SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY UserName) AS rownumber,* FRO…
SQL模糊查询的语法为: “Select column FROM table Where column LIKE 'pattern'”. SQL提供了四种匹配模式: 1. % 表示任意0个或多个字符.如下语句:Select * FROM user Where name LIKE '%三%'; 将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来.%三:表示左匹配.三%:表示右匹配. %三%:表示模糊查询. 2. _ 表示任意单个字符.语句: Select * FROM user…
Excel不是关系型数据库,在导入到sql中时对于数值型,sql有时int型会处理成float,有时数字文本混排的列,sql会认为是数值型,导入的结果有的数据变成了null,但是用sql导出excel后不做改动,再导入却不会有错误,关键就是导出的excel文件中文本型的列每个单元上都有个绿色的小三角型,要把excel的数值型的列调成这个小绿三角型却是相当麻烦,可能我对excel用得不好. 现有一个变通办法可行,打开exel 文件,新增一空列,输入公式=""&B1 ,这时exce…
select  a + ' '+b  as ab from tableName 如果是有整型的(例,b字段为int类型): select a +' '+Convert(VARCHAR(50),b) as ab from tableName 如果是有小数的(例,b字段为float类型) select a +' '+convert(varchar(20),convert(decimal(18,4),b)) as ab from tableName 注释:a,b为列名…
在子查询中,如果想实现如下的功能: select lib,count(*),select sum(newsNo) from Table1 group by lib from Tabel1 T1,Table2 T2 where T1.newsNo =T2.newsNo group by lib 就会提示“子查询返回的值不止一个.”的错误,意思是子查询不能返回多个结果,只能返回一个结果. 因此可以改用如下的方式: select lib,count(*),select sum(newsNo) from…
1.在大部分情况下,where条件语句中包含or.not,SQL将不使用索引:可以用in代替or,用比较运算符!=代替not. 2.在没有必要显示不重复运行时,不使用distinct关键字,避免增加处理时间. 3.当使用and运算符查找某个范围内的数据时,一般不使用索引,可以用between代替. 总之,尽量少用and.not.or还有distinct.…
select count(1) from user where regist_date between '2017-07-25 00:00:00' and  '2017-07-25 24:00:00'; 这条sql语句查询出结果为0.实际上数据库有一条符合该查询条件的数据. 错误原因:2017-07-25 24:00:00  晚上24点即为下一天00点  2017-07-26 00:00:00,数据库识别不出24点的信息:换成下一天00点即可以查询出正确结果. Java代码中可以识别24点的信息…
在查询语句中 两张表进行查询,可以通过 left join (左连接查询) :返回左表中的所有记录和右表中联结字段相等的记录  (意思就是左表中的数据会全部显示,右表中只会显示和左表中相等的字段) right join(右连接查询):自己动手试试 ,你会发现刚好和右连接查询刚好相反 ,(以右表为基础,右表全部显示,左表显示相等的字段) inner join(等值查询):只会显示符合条件(比如 a.id=b.id)的记录…