运行时生成的 table 的数据类型是什么
What is the Datatype of table generated at runtime
下面是我的查询的样子
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
table1、table2、table3中所有列的数据类型为varchar。
我假设在执行查询时,首先 table1 将存储在内存中,然后根据条件进行连接操作。
当 table1 存储在内存中时,列的数据类型是否仍然与 table 定义中的相同?因为如果数据类型更改 bcoz 连接条件,它可能会抛出一些错误。
我的这个查询实际上是一个视图,我收到以下错误。
1. 同时 运行 RUNSTATS 就可以了:
The utility could not generate statistics. Error "-420" was
returned.. SQLCODE=-2310, SQLSTATE= , DRIVER=3.61.75
- 虽然 运行 这个查询没有使用它的视图名称(我的意思是 运行 直接查询)
[jcc][t4][1026][11213][3.61.75] 由于内部 JCC 错误引发的错误检查异常。请联系支持。
Message text: Error happened on server. Severity code 8. No exception
code returned from server. ERRORCODE=-4228, SQLSTATE=null
- 同时 运行 查询
SELECT * from view
;
Invalid character found in a character string argument of the function
"DECFLOAT".. SQLCODE=-420, SQLSTATE=22018, DRIVER=3.61.75
我正在使用 db2 LUW 9.5
我的实际查询没有 SELECT * 。它包含基于 CASE 的表达式。
因此,THEN 部分的数据类型与 ELSE 部分不同。
示例:CASE WHEN 'a' THEN 'hello' ELSE 0
因此我遇到了错误,我已将其他部分更改为“0”
下面是我的查询的样子
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
table1、table2、table3中所有列的数据类型为varchar。
我假设在执行查询时,首先 table1 将存储在内存中,然后根据条件进行连接操作。
当 table1 存储在内存中时,列的数据类型是否仍然与 table 定义中的相同?因为如果数据类型更改 bcoz 连接条件,它可能会抛出一些错误。
我的这个查询实际上是一个视图,我收到以下错误。 1. 同时 运行 RUNSTATS 就可以了:
The utility could not generate statistics. Error "-420" was returned.. SQLCODE=-2310, SQLSTATE= , DRIVER=3.61.75
- 虽然 运行 这个查询没有使用它的视图名称(我的意思是 运行 直接查询) [jcc][t4][1026][11213][3.61.75] 由于内部 JCC 错误引发的错误检查异常。请联系支持。
Message text: Error happened on server. Severity code 8. No exception code returned from server. ERRORCODE=-4228, SQLSTATE=null
- 同时 运行 查询
SELECT * from view
;
Invalid character found in a character string argument of the function "DECFLOAT".. SQLCODE=-420, SQLSTATE=22018, DRIVER=3.61.75
我正在使用 db2 LUW 9.5
我的实际查询没有 SELECT * 。它包含基于 CASE 的表达式。 因此,THEN 部分的数据类型与 ELSE 部分不同。 示例:CASE WHEN 'a' THEN 'hello' ELSE 0
因此我遇到了错误,我已将其他部分更改为“0”