Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 运行时生成的表的数据类型是什么_Sql_Db2 - Fatal编程技术网

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函数