
如果都是 数字mmX数字mm的话 那就可以,这有规律,第一个数字在mm之前,第二个数字在x和mm之间你现在就是要获取 第一个mm和X还有mm的三个位置就好了
然后就可以获取到你想要的数字
dim index1 as integer'第一个mm的位置
dim index2 as integer''第二个mm的位置
dim index3 as integer''x的位置
dim long as integer
dim width as integer
dim size as string
size="100mmx150mm"
index1 = InStr(1, size, "mm")
long=rigt(size,index1)
index3=instr(1,size,"x")
index2=instr(1,right(size,len(size)-index3),"mm")
width=left(right(size,len(size)-index3),index2)
SELECT XXX
FROM A, B, C
WHERE AID = CA_ID
AND CB_ID = BID
AND BID IN (一系列查询获得的结果集)
大体应该是这样,有问题再追问
select top 3 from
(
Select from table1
where col in (select col from table2)
) a
要个子表取别名
select a,b,c,d,e,f from table where d=(select max(d) from table group by b,c,convert(vachr(7),d,111)) and f=02
设你的表名为student,id字段为1,2,3,这样的话要从表中找到id为1的记录并显示所有列就要这样写:
select from student where id=1;
一、先说筛选字符串字段中部分值的记录。
例如我有一个KKBH(卡口编号)字段,这是一个字典字段(对应另一个实体表(卡口表)的编号字段)。这个字段的值保存所属卡口值域{01,02,03}
本来想到的是通过or来实现,这样需要动态生成SQL语句。
后来想到一个办法用charindex搜索字符串的办法。将所有的要查的卡口编号组成类似'01@02'这样待查字符串。sql查询时通过charindex筛选出在待查字符串里有的KKBH的记录。
经测试使用or与使用charindex,两者在MSSQL中执行效率差不多。
具体实现:
用户界面查询需求:可能搜索N个卡口的记录(N的值域{1,所有卡口个数})。设计这个UI的形式一共三种:
一、一个多选listbox。用户界面运行时将卡口字典表载入listbox信息。
二、两个listbox,左边为待选,右边为已选,中间加两个按钮添加与删除。用户界面运行时将卡都字典表载入左边的listbox。
三、多个Checkbox。可以在界面设计阶段直接做死字典表,即有几个卡口就话几个checkbox。或者在程序运行根据字典表绘制动态绘制checkbox。
UI的优缺点这里不讨论,我这里选择第三种方式的动态绘制。
在查询阶段根据所选卡口生成待选字符串入:"01@02”
并将此条件传回后台查询服务程序
后台查询服务里只要待查字符串作为参数传入查询的SQL语句中(sql片段): charindex(卡口编号,@待查字符串)。当然也可以手动生成SQL方式传入"charindex(卡口编号,'"+待查字符串+"')"
二、模糊查询。
使用like的模糊查询发生效率是很低。
提高的解决办法与:
一、用full text index 结合contains函数。全文本索引,带了空间占用率很高。
二、通过charindex+substring实现简易模糊查询。使用substring分段,charindex实现类似like '%关键字%'。
以上就是关于sql 查询中,要筛选出某个字段的部分字符,该如何 *** 作 例如表a,有个字段是size.全部的内容,包括:sql 查询中,要筛选出某个字段的部分字符,该如何 *** 作 例如表a,有个字段是size.、sql语句,多对多筛选、sql如何从检索出来的数据中筛选数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)