如何将自然语言转化为SQL语句

要做一个自然语言查询接口,如何准确的切词然后转化为SQL语句呢?求大神指导。

1个回答

你可以这么考虑下看看, 我没有实现过,首先你要做一个自然语言的词库, 当使用自然语言时,先从词库中匹配(注意匹配算法你要做成接口,因为这里你一定会有多种不同的算法)
然后使用匹配的词编译为SQL语句进行查询。 如果有兴趣 你可以看一看 编译原理, 里面就有 语言的处理方法。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何将整条SQL语句转化为字符串?
SQL语句中经常会有单引号之类的字符,转换起来很麻烦,有没有什么函数能将整条语句转换为字符串?谢谢!
Orcale 语句转化为SQL 语句
各位大神请帮忙看下下面语句如何转化,rnrnrn[code=sql](sum(case when to_char(a.日期,'yyyymmdd') between to_char(trunc(sysdate-1, 'mm'),'yyyymmdd') and to_char(sysdate-1,'yyyymmdd') then a.tddv中小件自营fbp end)/rnsum(case when to_char(a.日期,'yyyymmdd') between to_char(trunc(add_months(sysdate,-12)-1,'mm'),'yyyymmdd') and to_char(add_months(sysdate,-12)-1 ,'yyyymmdd') then a.tddv中小件自营fbp end))-1 as 中小件_TDDV月累计同比去年,[/code]rnrn[code=sql](sum(case when to_char(a.日期,'yyyymmdd')=to_char(sysdate-1,'yyyymmdd') then a.tddv中小件自营fbp end)/rnsum(case when to_char(a.日期,'yyyymmdd')=to_char(sysdate-365,'yyyymmdd') then a.tddv中小件自营fbp end))-1 as 中小件_TDDV同比去年[/code]
使用NLTK将自然语言查询转化为SQL查询
文章目录 假设我们有一个sql表,如下所示: City Country Population athens greece 1368 bangkok thailand 1178 barcelona spain 1280 berlin east_germany 3481 birmingham united_kingdom 1112 当我们要查找某个athens在哪个...
如何将XML文件转化为字符串,如何将字符串转化为XML文件
如题,谢谢!
如何将下面的SQL语句从IN子查询转化为EXISTS子查询
select col_1 from table_1 whererncol_1 in (select col_1 from table_2 where col_2<>'2')rn我改为:rnselect col_1 from table_1 wherernexists (select col_1 from table_2 where col_2<>'2')rn结果不对,请高手赐教应该如何改???
如何将表单字段转化为 sql的numeric类型?如何将年月日三个字段转化为sql的日期类型?
-
如何将foxpro的dbf文件转化为sql server的?
-
请教如何将access数据库转化为SQL数据库?
如题
sql如何将金额转化为大写人民币
如题:
如何将SQL SERVER数据库转化为ACCESS数据库
如何将SQL SERVER数据库转化为ACCESS数据库rn我发现网上大部分数据库转化的方法是将ACCESS转化为SQL SERVERrn我们在一个软件里做的开发起初是以SQL SERVER为基础开发的,rn现在因为想多做几种版本,rn包括单机版的,rn而单机版想弄成ACCESS数据库rn又找不到这样的转化工具。rnrn不知道各位达人有没有建议?rnrn
如何将decode转化为标准sql
select sum(decode(col1,'1',col2,0)),rn sum(decode(col1,'0',col2,0)),rn sum(decode(col3,'1',col4,0)),rn sum(decode(col3,'0',col4,0))rnfrom table1rn用标准sql怎么写呀?rn多谢!
sql语句 行转化为列
[img=http://hi.csdn.net/attachment/201109/8/10110496_1315497982OmHO.png][/img]rnrnrn如图 我要把 SetupName 中每个值取出来 在datagrid 中绑定数据 所以需要每个都有字段 该怎么做呢
sql语句转化为分页查询的一种实现
/** * 将sql语句转化为分页查询 * * */ public static String addfy4oracle(String sql, int start, int limit, List args,String order, String ascOrdesc ) { StringBuffer strB = ne
SQL语句如何转化为VB?
SQL:SELECT * FROM 产品表 WHERE 产品图号 like "a*"rna 为 text.textrn如何将SQL转为vb的ADO的语言rn
Excel文件转化为SQL语句
通过Excel文件中的数据,进行转化生成为insert 执行文件 目前开发只是简单应用. 默认 只实现第一个sheet工作表进行生成文件.第一行为表列名,数据由第二行开始. sheet工作表名为表名处理. 技术交流可以QQ:332795521
字符串转化为可执行sql语句
我有个这样的sql语句: select time from gps_2006-01-01 where micuid=2123rn我要把查询出来的 time放在一个变量里,rn本来只是这样就简单了,问题出在,表名是放在变量里 @tablename,还有micuid也是变量rn既: select time from @tablename where micuid=@micuidrn我想把这样写成 set @time=(select time from @tablename where micuid=@micuidrn)rn可是这样写不行啊,表名是字符串啊,!~!~ 上帝rn我想把整个都写成sql字符串, @str=set '+@time+'=(select time from '+@tablename+' where micuid='+@micuid+'rn)' rn那现在问题是怎么执行这个字符串呢????rn怎么执行,那为知道的指导下.
希望将该语句转化为标准sql
前不久我提问了一个统计的sql语句。见:rnhttp://expert.csdn.net/Expert/topic/1224/1224717.xml?temp=.6220667rn为了将来数据库移植的方便,想把该语句转化成标准sql,希望得到大家的帮助。rnrnSELECT case when(grouping(type)=1) then 'all' else isnull(type,'unknown') end as type,rn SUM(CASE WHEN pagesize='c1' THEN 1 ELSE 0 END) AS size1,rn SUM(CASE WHEN pagesize='c2' THEN 1 ELSE 0 END) AS size2,rn SUM(CASE WHEN pagesize='c3' THEN 1 ELSE 0 END) AS size3,rn count(pagesize)rnFROM testrnWHERE prop='r1' or prop='r2' or prop='r3'rnGROUP BY type,prop with rolluprnhaving grouping(type)<>1
请教将oracle的sql语句转化为sqlserver下的sql语句
SELECT CLS_DESC,OBJ_DESC,SUM(ZTS) ZTS,SUM(ZJZ) ZJZ,SUM(ZCYX) ZCYX,SUM(ZX) ZX,SUM(XZ) XZ,SUM(DBYX) DBYX,SUM(DBF) DBF,SUM(TJDX) TJDX,SUM(AZTS) AZTSrnfrom (rnSELECT FL.CLS_DESC,SB1.OBJ_DESC,COUNT(SB.OBJ_CODE) ZTS,SUM(SB.OBJ_RESIDUAL) ZJZ,rndecode(SB.OBJ_STATUS,'ZCYX',COUNT(SB.OBJ_STATUS),to_number(NULL)) ZCYX,rndecode(SB.OBJ_STATUS,'ZX',COUNT(SB.OBJ_STATUS),to_number(NULL)) ZX,rndecode(SB.OBJ_STATUS,'XZ',COUNT(SB.OBJ_STATUS),to_number(NULL)) XZ,rndecode(SB.OBJ_STATUS,'DBYX',COUNT(SB.OBJ_STATUS),to_number(NULL)) DBYX,rndecode(SB.OBJ_STATUS,'DBF',COUNT(SB.OBJ_STATUS),to_number(NULL)) DBF,rndecode(SB.OBJ_STATUS,'TJDX',COUNT(SB.OBJ_STATUS),to_number(NULL)) TJDX,rndecode(SB.OBJ_STATUS,'AZTS',COUNT(SB.OBJ_STATUS),to_number(NULL)) AZTSrnFROM rnR5OBJECTS SB,R5CLASSES FL,R5MRCS BM,R5OBJECTS SB1rnWHERE rnSB.OBJ_CLASS=FL.CLS_CODE(+)rnAND SB.OBJ_OBTYPE='A'rnAND SB.OBJ_ORG='S02'rnAND SB.OBJ_CATEGORY=SB1.OBJ_CODE(+)rnAND SB.OBJ_MRC=BM.MRC_CODE(+)rnAND BM.MRC_CLASS='WX'rnAND NVL(BM.MRC_CODE,-1)=NVL(:P_1,BM.MRC_CODE)rnAND NVL(FL.CLS_CODE,-1)=NVL(:PFL,NVL(FL.CLS_CODE,-1))rnAND NVL(SB1.OBJ_CODE,-1)=NVL(:PZL,NVL(SB1.OBJ_CODE,-1))rnGROUP BY rnFL.CLS_DESC,SB1.OBJ_DESC,SB.OBJ_STATUSrnORDER rnBY FL.CLS_DESCrn)rngroup by CLS_DESC,OBJ_DESCrnORDER BY CLS_DESCrn
sql server中 如何将小写字符转化为大写?又如何将小写字符转化为小写??
sql server中 如何将小写字符转化为大写?又如何将小写字符转化为小写??
如何将相对路径转化为绝对路径
实例说明在C#中如何将相对路径转化为绝对路径
如何将整型变量转化为字符串?
如何将整型变量转化为字符串?
如何将object转化为int??
如何将object转化为int??
如何将字符串转化为DateTime
C#中,如何将如'2002-10-22 19:44:57' 的字符串转化为DateTime类型呢?rn谁知道?
如何将字符串数组转化为TDateTime?
如何将‘2002-01-01 13:24:25’转化成 TDateTime类型?
如何将字符串,转化为图片
比如我向WebService发送一个字符串,在接收到后如何把这个串解析成一个JPG格式的图片呢,
如何将CString 转化为字符串
rnrn就是将CString 型的转化成char ch[100]型的
如何将应用程序转化为applet
能不能把这个程序转化为applet,是个录音的程序。rnimport javax.swing.*;rnimport javax.swing.border.*;rnimport java.io.*;rnimport java.awt.*;rnimport java.awt.event.*;rnimport javax.sound.sampled.*;rnrnpublic class Recorder extends JFrame implements Runnablern private String filename = "samples";rn private int filenameSuffix= 0;rn private String soundFileName;rn private AudioFileFormat.Type fileType = AudioFileFormat.Type.WAVE;rn private TargetDataLine mike;rn private Thread thread;rn final int MONO = 1;rn private AudioFormat format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,44100,16,MONO,2,44100,true);rnrn rn public static void main(String[] args)rn rn Recorder recorder = new Recorder();rn rn rn public Recorder()rn rn setDefaultCloseOperation(EXIT_ON_CLOSE);rn setTitle("Sound Recorder");rn setSize(250,200);rn rn currentDir = new File(System.getProperty("user.dir"));rn JPanel filenamePane = new JPanel(new GridLayout(0,1));rn CompoundBorder border = BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(5,5,5,5),BorderFactory.createRaisedBevelBorder()); rn filenamePane.setBorder(BorderFactory.createCompoundBorder(border,BorderFactory.createEmptyBorder(5,5,5,5)));rn if ((fileOut = getNewFile()) == null)rn rn System.err.println("can not create file");rn System.exit(1);rn rn filenameLabel = new JLabel(fileOut.getName(),SwingConstants.CENTER);rn stopColor = filenameLabel.getForeground();rn filenamePane.add(filenameLabel);rn Container content = getContentPane();rn content.add(filenamePane);rn record = new JButton("RECORD");rn record.setBorder(border);rn record.addActionListener(new ActionListener()rn rn public void actionPerformed(ActionEvent e)rn rn if(e.getActionCommand().equals("RECORD"))rn rn record.setText("stop");rn startRecording();rn rn elsern rn stopRecording();rn record.setText("RECORD");rn rn rn rn );rn content.add(record,BorderLayout.SOUTH);rn setVisible(true);rnrnFile getNewFile()rn rn File file = null;rn tryrn rn dorn rn rn soundFileName = filename + (filenameSuffix++) + '.' + fileType.getExtension();rn file = new File(currentDir, soundFileName);rn rn while(!file.createNewFile());rn if(!file.isFile())rn rn System.out.println("File not created: " + file.getName());rn return null;rn rnrncatch(IOException e)rnrn System.out.println(e);rn return null;rnrnreturn file;rn rnrnpublic void startRecording()rn rnrnrn DataLine.Info info = new DataLine.Info(TargetDataLine.class,format);rn if(!AudioSystem.isLineSupported(info))rn rn System.out.println("line not supported " + info);rn record.setEnabled(false);rn return;rn rn tryrn rn mike = (TargetDataLine)AudioSystem.getLine(info);rn mike.open(format, mike.getBufferSize());rn rn catch(LineUnavailableException e)rn rn System.out.println("Line not available" + e);rn record.setEnabled(false);rn return;rn rn if(fileOut.length()>0)rn rn fileOut = getNewFile();rn filenameLabel.setText(fileOut.getName());rn rn filenameLabel.setForeground(recordColor);rn filenameLabel.repaint();rn thread = new Thread(this);rn thread.start();rn rnrnpublic void stopRecording()rnrn filenameLabel.setForeground(stopColor);rn filenameLabel.repaint();rn mike.stop();rn mike.close(); rnrnpublic void run()rnrn AudioInputStream sound = new AudioInputStream(mike);rn mike.start();rn tryrn rn AudioSystem.write(sound, fileType , fileOut);rn rn catch(IOException e)rn rn System.out.println(e);rn rn rnrnprivate JLabel filenameLabel;rnprivate JButton record;rnrnprivate File currentDir;rnprivate File fileOut;rn rnrnrnfinal Color recordColor = Color.red;rnColor stopColor;rnrn
如何将INTEGER转化为FLOAT
如何将INTEGER转化为FLOAT
如何将位图转化为矢量图?
各为电脑爱好者,我的问提是如何将小的图片放大但是图片不失真?
如何将bmp转化为jpg?
请问大家,如何将bmp转化为jpg文件?
如何将二进制转化为文本文件?
我有一二进制文件里面存储了一些点的坐标,我将他用_lread读出后,在用_lwrite写进文本文件,rn可是文本文件里显示出的是字符乱码,这是怎么回事?谁能帮我啊
如何将int转化为bool
如题
如何将string转化为double???
例如有个计算四舍五入的例子,从textBox1中提取一个值,单击Calculate按钮,然后在textBox2中显示计算机后的结果。虽然很简单,但我不知道如何转换,哪位学长给解决一下吧,请客哦。rnrn private void button_Calculate(object sender, System.EventArgs e)rn rn rn double input = (???)textBox1.Text;//此行即为关键之处rn int int_input = (int)input;rn string output;rn rn if ((input-int_input)>0.5)rn rn output = (int_input+1).ToString();rn rn else output = int_input.ToString();rnrn textBox2.Text = output;rn
如何将string转化为CString
如题,如何将CString->string?
如何将struct转化为char*?
我希望能将一个struct转化为字符串,即char*,rn例如:rnstruct arnrn char ss[50];rn char mm[20];rn int i;rn float f;rn char dd[10];rn;rnrn这样一个struct,但由于是socket传输,对方提供的函数只能输入char*,所以需要大小不变得转化为char*,请问该怎么写?特别是那些int和float的该如何大小不变的连成字符串?
如何将字符数组转化为字符串?
我在使用getPassword时,发现他返回的是一个字符数组,rn我定义了一个StringBuffer变量,然后用一个循环将字符赋给StringBuffer变量,再使用toString()函数获得字符串rn请问高手 有没有简单的方法
如何将字符串转化为整型?
如果不使用build in library,怎么将字符串转化为整型?rnrnint ConvertToInt(string s)rnrn ....rn
如何将字符数组转化为整形数
char buf="123";rn转换为int j=123;
如何将时间格式转化为字符
我想将date()当前日期转化为字符格式,例如将2008-8-5转化为200885
如何将char* 转化为AsinString
-
相关热词 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天 c#func链接匿名方法 c#怎么创建文件夹 c#从键盘接收空格 c#da/ad c#部门请假管理系统 c#服务器socket c# 默认的访问修饰符