以文本方式查看主题 - 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 -- 做个例子发过来测试一下 |