易截截图软件、单文件、免安装、纯绿色、仅160KB

一个字段匹配的sql语句书写

这几天负责一个家教门户网站的开发,基于cakephp框架。在培训机构表(schools)中存在一个字段subject用来存储另一个数据表
(subjects)中记录的id值,且存储形式为:'1,2,3,4,5'。但是在应用高级搜索过滤时页面select选项option的传值为
subjects的id值,需要判断查询表schools中subject字段存在此id,即查询显示此记录。
     先后尝试了以下几种方式:
     **在此假设id传值为3**
     1. SELECT * from schools WHERE subject like '%3%';会出现查询出存在'1,2,3','1,13,33'的记录,不合逻辑.
     2. SELECT * from schools WHERE subject in (3);会出现查询出 '3',而不会查询出存在 '1,3','1,2,3' 的记录,不合逻辑
     3. SELECT * FORM schools WHERE  find_in_set('3',  subject); 可以很好的解决了以上问题。
     为了更深入的了解一下find_in_set()函数,mysql手册中对此解释如下:
FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N
之间。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则  
FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0
。如任意一个参数为NULL,则返回值为 NULL。 这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。


相关文档:

在XP上安装SQL 2000 Server(摘转)

今天从网络上找到了在XP上安装SQL 2000 Server的方法,此前我一直认为这是行不通的,后面google一查,还真是可以,有很多网站都说这个方法可行,我就让lp试试看,结果真行,转载一下吧: 在Windows XP上安装SQL Server 2000的主要流程为:
一、在SQL服务器的安装盘中找到MSDE这个目录,并且点击setup.exe安装它,过程 ......

整理了一份项目组前人写过的关于sql编程规范的文档

一、sql书写规范:
  1、sql语句的所有表名、字段名全部小写,系统保留字、内置函数名、sql保留字大写。
   
  2、连接符or、in、and、以及=、<=、>=等前后加上一个空格。
   
  3、对较为复杂的sql语句加上注释,说明算法、功能。
   
&nb ......

SQL server2005创建计划任务(转)

我们在开发过程中,经常遇到这样问题,就是要求定期进行数据库的检查,如果发现特定数据,那么就要进行某项操作,这个需求呢,可以利用Windows的计划任务,定期执行某一个应用程序,去检索数据;也可以让程序自己控制。其实SQL Server自己也可以创建计划任务,定期进行执行。如果数据库服务器允许,可以考虑采用这种方式。 ......

最简单的SQL Server数据库存储过程分页


最简单的SQL Server数据库存储过程分页
 
发布时间:2008.07.02 05:11     来源:赛迪网    作者:Alizze
【赛迪网-IT技术报道】最简单的SQL Server数据库存储过程分页:
1.只需要提供Sql语句和每页的记录数,页数就可以了
2,速度超快哟,100W记录1~3秒就分出来了
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号