求助:delphi + sqlite 比较日期大小,搜索中文(LIKE %中文%)的问题

yc_chongchong 2013-03-02 01:44:29
1.窗体上有两个日期控件,数据库有个日期类型的字段,如何写sql:查询日期在这两个日期控件之间的记录,不能用between,因为两个日期控件不一定都有填日期
2.查询某条记录时,例如:select * from employ where emp_name like %张三%,查到的数据是错误的,是不支持查中文吗,查字母或数字都可以
...全文
574 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yc_chongchong 2013-03-05
  • 打赏
  • 举报
回复
引用 8 楼 csh555 的回复:
意思是在emp_name这个字段里面查找'张三'这个字符串出现的位置,如果>0就表示里面包含这个字符串
把数据库换成mysql后就不会有这个问题了 谢谢大家的解答
csh555 2013-03-04
  • 打赏
  • 举报
回复
意思是在emp_name这个字段里面查找'张三'这个字符串出现的位置,如果>0就表示里面包含这个字符串
csh555 2013-03-04
  • 打赏
  • 举报
回复
这个是sql server 的语法,其他数据库的语法会有所不同,具体你看看帮助吧,应该不难的
yc_chongchong 2013-03-02
  • 打赏
  • 举报
回复
引用 3 楼 csh555 的回复:
emp_name like %张三% 换成 charindex('张三',emp_name)>0 试试 上限和下限根据你的实际情况而定,如果时间间隔太长,在数据量大的情况下,会影响查询的速度,所以你应该尽量缩小两个时间段的间隔
这样写会报错呢
yc_chongchong 2013-03-02
  • 打赏
  • 举报
回复
引用 4 楼 csh555 的回复:
忘了问你是什么数据库
mysql ,sqlite
csh555 2013-03-02
  • 打赏
  • 举报
回复
忘了问你是什么数据库
csh555 2013-03-02
  • 打赏
  • 举报
回复
emp_name like %张三% 换成 charindex('张三',emp_name)>0 试试 上限和下限根据你的实际情况而定,如果时间间隔太长,在数据量大的情况下,会影响查询的速度,所以你应该尽量缩小两个时间段的间隔
yc_chongchong 2013-03-02
  • 打赏
  • 举报
回复
引用 1 楼 simonhehe 的回复:
1 不填的话默认一个上限或下限值 2 使用utf8编码应该可以(我用的utf8编码, 查中文没问题, 所以没注意这个)
可以说的细一点吗,上限下限设置多少比较好呢,怎样设置为utf-8编码呢
simonhehe 2013-03-02
  • 打赏
  • 举报
回复
1 不填的话默认一个上限或下限值 2 使用utf8编码应该可以(我用的utf8编码, 查中文没问题, 所以没注意这个)

2,497

社区成员

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

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