以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教sql语句  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157188)

--  作者:hb8888
--  发布时间:2020/10/7 10:10:00
--  请教sql语句
大师:好!在写sql语句时,如何判断后台表有无某一列?
--  作者:有点蓝
--  发布时间:2020/10/7 10:44:00
--  
https://www.baidu.com/baidu?word=sql+判断是否包含列
--  作者:hb8888
--  发布时间:2020/10/7 11:17:00
--  
直接能用在sql语句中的函数有没有?
--  作者:有点蓝
--  发布时间:2020/10/7 11:31:00
--  
没有。只能判断了再调用查询sql
--  作者:hb8888
--  发布时间:2020/10/13 14:25:00
--  
大师:考虑到列的数据类型,为何下列sql语句
se___lect * from pz.txt a left join km.txt b on  cstr(a.科目代码) = cstr(b.科目代码)比下列语句慢100倍

sel___ect * from pz.txt a left join km.txt b on  a.科目代码 = b.科目代码

如何优化?

--  作者:有点蓝
--  发布时间:2020/10/13 14:28:00
--  
把列类型设置为一致。正常使用了函数就无法应用索引查询,肯定慢
--  作者:hb8888
--  发布时间:2020/10/13 17:48:00
--  
什么意思?读取企业数据时,根本不知道企业数据默认的数据列类型?,比如企业提供的是文本类型数据库或excel数据库?
--  作者:有点蓝
--  发布时间:2020/10/13 20:04:00
--  
建议导入真正的数据再做查询。
--  作者:hb8888
--  发布时间:2020/10/13 20:29:00
--  
比如企业导出的文本数据,表a的配置文件中有一列 “科目代码”字符型,表b的配置文件中有一列 “科目代码”字符型,表a的文本文件该列列示为001001,表b的文本文件该列列示为"001001".
数据源连接后,两列数据类型就不一样了,但两表左连接后,就出现表达式数据类型不一样。这种情况怎么解决为好?如果重写文本,数据量太大。连接时条件增加函数,又太慢。

--  作者:有点蓝
--  发布时间:2020/10/13 20:58:00
--  
做个例子发过来测试一下