Sql 运行时生成的表的数据类型是什么
下面是我的查询的样子Sql 运行时生成的表的数据类型是什么,sql,db2,Sql,Db2,下面是我的查询的样子 SELECT * FROM (SELECT * FROM table1 t1 WHERE col3='abc') INNER JOIN table2 t2 ON t1.col1=t2.col1 INNER JOIN table3 t3 ON t2.col1=t3.col1 表1、表2、表3中所有列的数据类型都是varchar 我假设在执行查询时,首先将表1存储在内存中,然后根据条件执行连接操作 当表1存储在内存中时,列的数据类型是否仍然和表定义中的数据类型相同?因为如果连
SELECT * FROM (SELECT * FROM table1 t1 WHERE col3='abc')
INNER JOIN table2 t2 ON t1.col1=t2.col1
INNER JOIN table3 t3 ON t2.col1=t3.col1
表1、表2、表3中所有列的数据类型都是varchar
我假设在执行查询时,首先将表1存储在内存中,然后根据条件执行连接操作
当表1存储在内存中时,列的数据类型是否仍然和表定义中的数据类型相同?因为如果连接条件的数据类型更改,它可能会引发一些错误
我的这个查询实际上是一个视图,我遇到了以下错误。
1.在其上运行RUNSTATS时:
该实用程序无法生成统计信息。错误-420被删除
返回。。SQLCODE=-2310,SQLSTATE=,DRIVER=3.61.75
当运行这个查询而不使用它的视图名时,我的意思是直接运行查询
[jcc][t4][1026][11213][3.61.75]由于内部jcc错误而引发错误检查异常。请联系支持部门。
消息文本:服务器上发生错误。严重性代码8。也不例外
从服务器返回的代码。ERRORCODE=-4228,SQLSTATE=null
运行查询时,从视图中选择*;
在函数的字符串参数中找到无效字符
取消浮动。。SQLCODE=-420,SQLSTATE=22018,DRIVER=3.61.75
我正在使用DB2LUW9.5我的实际查询没有SELECT*。它包含基于大小写的表达式。 因此,在那个部分中,数据类型与ELSE部分不同。 示例:当“a”然后是“hello”时的情况为0
因此,由于这个原因,我得到了错误,我已将其他部分更改为“0”尝试以下操作:从表1 t1中选择*col3='abc't1这可能是一个愚蠢的问题,但您是否检查了函数DECFLOAT以查找字符串参数中的无效字符?您不能假设。。。首先,表1将存储在内存中。。。。SQL优化器决定实际的执行顺序。@ChristianBarron我没有在任何地方使用任何DECFLOAT函数