在setfilter函数中如何连接一个字段和字符串?

caoxsheng 2003-08-05 11:07:33
我在setfilter中写如下语句:
"yhm like '%/" + ls_username + "/%'"
目的是找到字段yhm中包含ls_username的记录,但必须在yhm的头尾加上'/'字符串,才能得到正确结果.如何让yhm连接字符串,请大虾指教。
...全文
85 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
klbt 2003-08-06
  • 打赏
  • 举报
回复
同意楼上。

其实一般情况下,用like %张三% 就足够满足要求了。
pbsql 2003-08-06
  • 打赏
  • 举报
回复
提个思路:(三个条件为:“%/张三/%”或“张三/%”或“%/张三”)
"yhm like '%/"+ls_username+"/%' or "
+"yhm like '"+ls_username+"/%' or "
+"yhm like '%/"+ls_username+"'"
caoxsheng 2003-08-06
  • 打赏
  • 举报
回复
其实是这样,字段yhm包含多个用户名,用户名以'/'隔开,头尾没有'/',比如"李四/张三/张三丰"。
现在要找所有字段yhm中包含"张三"的记录。在oracle中的语句是:

select * from A where '/'||yhm||'/' like '%/张三/%';

但是我想在数据窗口中使用setfilter实现。
sosoxiang 2003-08-06
  • 打赏
  • 举报
回复
为什么要在字段两边加上/ /,没什么意义吧
warchild 2003-08-06
  • 打赏
  • 举报
回复
一楼
xisat 2003-08-06
  • 打赏
  • 举报
回复
先不管楼主的目的,是否想让字段名和/连接起来?
好像不可以的
jdsnhan 2003-08-06
  • 打赏
  • 举报
回复
才疏学浅,还是不懂楼主的主要意图是什么
pbsql 2003-08-06
  • 打赏
  • 举报
回复
字符串以'/'开头及结尾:
"yhm like '/%" + ls_username + "%/'"

OK?
zxthello 2003-08-06
  • 打赏
  • 举报
回复
up,能否说的再清楚些,是否是想 /ls_username/ like 字段。
友情帮顶!
klbt 2003-08-06
  • 打赏
  • 举报
回复
还是不清楚你的意思
caoxsheng 2003-08-06
  • 打赏
  • 举报
回复
我的目的是在字段yhm两边加上'/',再和"'%/" + ls_username + "/%'"字符串比较,可能是我没说清楚。有没有人知道。
arich 2003-08-06
  • 打赏
  • 举报
回复
"yhm like '%/"+ls_username+"/%' or "
+"yhm like '"+ls_username+"/%' or "
+"yhm like '%/"+ls_username+"'"
caoxsheng 2003-08-06
  • 打赏
  • 举报
回复
楼上的楼上,用'+'连接字段和字符串不行。
我用setsqlselect ("select * from A where '/'||yhm||'/' like '%/" + ls_username + "/%'")可以解决该问题。
只不过好奇,想在setfilter ()中直接实现,有兴趣的大虾可以试一试,成功了拿出来分享下。
handi 2003-08-06
  • 打赏
  • 举报
回复
数据库中要记录为 /李四/张三/张三丰/ 才可以
suziniren 2003-08-06
  • 打赏
  • 举报
回复
setfilter("'/' + yhm + '/' + like '%" + ls_username + "%'")
filter()
我想是这样意思吧,呵呵试试看。。。
pbsql 2003-08-06
  • 打赏
  • 举报
回复
仅用like %张三% 会把含张三丰的记录一起找出来,所以要三个条件,把名字在最前面、中间、最后面的情况区分开来
pbsql 2003-08-06
  • 打赏
  • 举报
回复
仅用like %张三% 会把含张三丰的记录一起找出来,所以要三个条件
ldq_pb 2003-08-06
  • 打赏
  • 举报
回复
很难达到要求你会把张三和张三丰一起找出来的
wzm1022 2003-08-06
  • 打赏
  • 举报
回复
用find()函数。
playguy 2003-08-05
  • 打赏
  • 举报
回复
ls_username = "%" + ls_username + "%"

setfilter("yhm like '" + ls_username + "'")
filter()
就这样OK。

欢迎访问小弟的网站:
http://www.aslike.net

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧