遇到一个超高难度的数据库难题(SQL语句查询),一个多月都无法解决---高手请进
我用ADOQuery写SQL语句(库为ACCESS),用like条件语句进行判断并要求区分大小写,可实际返回的结果不区分大小写,曾经看到一个朋友说用inStr,但仍无法解决,因为我的表很特殊,如下:
field1 field2 (表table1)
Si 发送
Ti 接收
I% 网通
s% 主叫
y% 直通
S% 被叫
%y 优惠
%i 连通
。。。
当字段field1的值为Si时对应'发送',值为Ti时对应'接收',值以I开头时对应'网通',值以s开头时对应'主叫',值以y开头时对应'直通车',值以S开头时对应'被叫',值以y结尾时对应'优惠',值以i结尾时对应'连通',等等。我的SQL语句为:ADOQuery1.sql.Add('select (select top 1 table1.field2 from table1 where table2.code like table1.field1) as codename from table2 ');
可惜查得的结果没有区分大小写(如:把S错误的对应到了'主叫')。其中表table1是我为了利用like语句而自建的,可以调整,但S对应'被叫'等对应关系都不允许更改。
有高手能解决上述问题吗?急用,万分感谢!!!
问题点数:0、回复次数:3Top
1 楼pcclever(质子)回复于 2003-09-01 19:55:40 得分 0
s+% 本身就不对,因为用like 的一个通配符就是%,你可以再加一个字段,做为识别码,绕开field1这样含有特殊记录的字段!Top
2 楼terrace(terrace)回复于 2003-10-22 15:02:06 得分 0
ACCESS不支持大小写,先转化为内码。Top
3 楼quietosea(静归海)回复于 2003-10-22 15:03:43 得分 0
ACCESS不区分大小写,先转化为内码。Top




