重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果是在数据库中判断参数,是在存储过程过程自定义function中么?数据库里面普通的SQL没法传递参数的。
创新互联公司服务项目包括兴宁网站建设、兴宁网站制作、兴宁网页制作以及兴宁网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,兴宁网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到兴宁省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
以Mysql数据库为例。
在存储过程中使用判断一个参数,例参数为vtitle
Select a.*
from trn_res_courseware a
where 1 = 1 and
IF (vtitle is NULL, 0 = 0, a.title like CONCAT('%'+vtitle+'%'));
vtitle 是参数。
如果参数为空,则不执行(0=0永远成立),
不为空,则执行 a.title like CONCAT('%'+vtitle+'%')) 查询条件。
插入数据?就是向表中添加数据的时候吧??我总结了三种方法来添加数据呢!!你看看
1. 添加:
Insert [into] table_name
Column_list
Values
( Expression ) [单引号]
2. 省略字段清单的insert 语句
Use [into] table_name
Values
(Experssion)
3. 省略values 清单的 insert 语句
Use [into] table_name1 (column_name1,column_name2,…)
[表名.列名]
Select (column_name1,column_name2,…)[表名.列名]
From table_name2
Where search_conditions
注:insert 表 和 select 表 的结果集的列数、列序、数据类型必须一致
按你说的,只要用第一种方法,不填写可以填空值的那一项(即“Column_list”里)就可以了。
关系数据库中空表是null
空值是一个比较特殊的字段。在mysql数据库中,在不同的情形下,空值往往代表不同的含义。这是mysql数据库的一种特性。如在普通的字段中(字符型的数据),空值就是表示空值。但是如果将一个空值的数据插入到timestamp类型的字段中,空值就不一定为空。此时为出现什么情况呢
我先创建了一个表。在这个表中有两个字段:user_id(其数据类型是int)、date(其数据类型是timestamp)。现在往这个表中插入一条记录,其中往date字段中插入的是一个null空值。可是当我们查询时,其结果显示的却是插入记录的当前时间。这是怎么一回事呢?其实这就是在mysql数据库中执行sql语句时经常会遇到的一个陷阱:空值不一定为空。在操作时,明明插入的是一个空值的数据,但是最后查询得到的却不是一个空值。
delimiter
//
DROP TABLE if exists test
//
CREATE TABLE test(
id
int(11) NULL
)
//
/********************** 最简单的一个存储过程
drop procedure if exists
sp//
CREATE PROCEDURE
sp() select 1
//
call
sp()//
/********************* 带输入参数的存储过程