自己总结的不定条件SQL查询语句的写法
我说的不定条件是指查询条件的个数不定。有时一个,有时两个,有时好几个。
首先我发现
select * from A where a='kkk' 与
select * from A where a like 'kkk'
其实效果是一样,只要 like 后面的字符串不包含通配符。这样一来就很方便了。譬如有
select * from A where a='KKK' and b='LLL'
有两个查询条件,但有时候又只需要第一个或者第二个条件,又不想写好几条SQL语句。这时就可以先把SQL参数化
select * from A where
a like @a
and
b like @b
把等于号替换成 like
然后给参数a赋值,有两种选择, 要么是%,要么是不包含通配符的任何字符串。参数b的赋值同理。
假如给参数a赋值为%,参数b赋值为字符串'LLL',那么实际SQL语句为
select * from A where a like '%' and b like 'LLL' 相当于
select * from A where b='LLL',只使用了一个条件。
这个只适用于包含字符串的参数的情况。至于非字符串的情况,我还没有考虑到。在VB2008中可以这么用。别的没试过。
也许有人早已知道,或许我说的不对,欢迎指教。
相关文档:
写一个存储过程,将表一按照表二的形式进行查询。
仓库名称 商品名称 数量
A
S001 12
A S002 17
A
S003 10
B S001 21
B
S002 5
B S003 ......
记得以前用SqlServer 2000的时候在“右键数据库->所有任务->导入数据/导出数据”这个选项,但是最近在使用SqlServer 2005 express的时候发现居然没有“导入/导出”功能,这个让人相当郁闷。
后来网上一查才知道是因为我用的是ex ......
1.SQL SERVER的数据类型
数据类弄是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。SQLServer 提供了 25 种数据类型:
·Binary [(n)]
·Varbinary [(n)]
......
最近刚学会在VB2008 中使用参数化SQL语句,于是马上用到代码中,却碰到查不到任何数据的情况,纠结了好几天,还是没有搞明白,差点吐血。不得已还是先在代码中使用字符串拼接的SQL语句。
包含参数化SQL语句的代码如下:
Dim cmSl As N ......