社区
数据库(包含打印,安装,报表)
帖子详情
求一算法!如果把一段用户输入的查询条件解析为SQL语句(内详)。
painache
2003-08-20 06:58:53
例如用户在一个文本框中输入
A & B !(C | D)
&代表AND,!代表NOT ,|代表OR
用什么样的算法可以把他转换为符合SQL查询规则的语句?并得到需要的关键字(就是用&或者用|连接的字符。
...全文
96
8
打赏
收藏
求一算法!如果把一段用户输入的查询条件解析为SQL语句(内详)。
例如用户在一个文本框中输入 A & B !(C | D) &代表AND,!代表NOT ,|代表OR 用什么样的算法可以把他转换为符合SQL查询规则的语句?并得到需要的关键字(就是用&或者用|连接的字符。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
painache
2003-08-26
打赏
举报
回复
呵呵,楼上的,当然不会让用户来输入这些鬼东西。我只是为了说明问题用这些鬼东西来表示。
painache
2003-08-25
打赏
举报
回复
to:WQ771211(SyanSea)
谢谢回复。
请问两个堆栈该如何交替使用?能详细说一下么?
aiur2000
2003-08-25
打赏
举报
回复
你让用户输这种鬼东西,晕,你还不如要他直接查询。想办法想好点的吧。什么&!|最好不要让用户输入。改成象google里面的规则比较好。
WQ771211
2003-08-24
打赏
举报
回复
用两个堆栈,一个存符号,一个存条件
WQ771211
2003-08-24
打赏
举报
回复
和表达式的解析差不多,要用堆栈实现(要确定运算符号的优先级别),在数据结构书上有例子
在弹出堆栈时在 转换成SQL的WHERE子句
painache
2003-08-21
打赏
举报
回复
没有这么简单吧,如果只是替换&的话根本就达不到效果。应该先分析其逻辑关系。我觉得可以用栈来实现,但是思路总是组织不起来。因为刚接触数据库,有些东西还不是很熟悉。请各位帮忙。
ukyo88888
2003-08-20
打赏
举报
回复
又学了一点东西,谢谢两位!!!!
zqfleaf
2003-08-20
打赏
举报
回复
如果这样可以直接敲条件语句
如果你所说的可以用
replace(strsql,"&","and")
...
SQL语句
的
解析
过程
于最近需要做一些sql query性能提升的研究,因此研究了一下
sql语句
的解决过程。在园子里看了下,大家写了很多相关的文章,大家的侧重点各有不同。本文是我在看了各种资料后手机总结的,会详细的,一步一步地讲述一个
sql语句
的各个关键字的
解析
过程,欢迎大家互相学习。
SQL语句
的
解析
顺序 简单地说一个
sql语句
是按照如下的顺序
解析
的: 1. FROMFROM后面的表标识了这条语句要
查询
的数据源。和一些子句如,(1-J1)笛卡尔积,(1-J2)ON过滤,(1-J3)添加外部列,所要应用的对象。FROM过.
一条
SQL语句
在MySQL中执行过程全
解析
本篇文章会分析一个 sql 语句在 MySQL 中的执行流程,包括 sql 的
查询
在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的。
SQL语句
执行过程详解(执行计划)
SQL语句
执行过程详解 一条sql,plsql的执行到底是怎样执行的呢? 一、
SQL语句
执行原理: 第一步:客户端把语句发给服务器端执行 当我们在客户端执行 select 语句时,客户端会把这条 SQL 语句发送给服务器端,让服务器端的 进程来处理这语句。也就是说,Oracle 客户端是不会做任何的操作,他的主要任务就是把客户端产生 的一些 SQL 语句发送给服务器端。虽然在客户端也有一个数据库进...
分析oracle缓慢原因,
SQL语句
响应缓慢原因及优化
1运行过程可能发生的原因及优化方案?
SQL语句
的运行过程1).使用hash
算法
得到
sql语句
的hash_value值2).如果hash_value值在内存中,叫做命中执行软
解析
3).如果hash_value值不存在,执行硬
解析
4).语法
解析
,查看是否有错误5).语意
解析
,查看权限是否符合6).若有视图,取出视图的定义7).进行
sql语句
的自动改写,如将子
查询
改写为连接8).选择最优的执行计划9...
从sql中提取表名称,删除sql中的某个
查询
条件
注:内容均以java实现 这件事情,起始我们可以通过jsqlparser这款良心工具来完成。但是拿人家的东西来用就没机会锻炼自己了,正好最近工作上碰到了这个问题,就顺便来写个日志记录下吧。 这里做一个前提假设:sql没有语法错误 提取表名 虽然sql没有语法错误,但无法保证sql中带有注释符号,有的sql还带着很大的空行以及很长的空格。【我们公司的客服和老板都热爱能写sql,他们就是慢sql和不规范sql的缔造者,甚至一度引起公司内部服务器瘫痪,嘘!】 言归正传,先把sql按一个规则垂直分割,请围观java
数据库(包含打印,安装,报表)
1,216
社区成员
55,954
社区内容
发帖
与我相关
我的任务
数据库(包含打印,安装,报表)
VB 数据库(包含打印,安装,报表)
复制链接
扫一扫
分享
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章