语句如下:
Select
a.days,
b.ADMISSION_ID,
c.ADMISSION_ID AS test,
b.dep_code
From
(
SELECT
a.date_long as days
FROM
dim.dim_date a
WHERE
left(DAYS_ADD(a.date_long, 7), 10) >= left('2025-06-03', 10)
and a.date_long <= left('2025-06-03', 10)
) a
Left join dws.dws_emr_admission_record b on MONTHS_ADD(COALESCE(b.ADMISSION_DATE, '1970-01-01'), 2) >= a.days
and left(b.ADMISSION_DATE, 10) <= a.days
Left join dws.dws_emr_discharge_record c on MONTHS_ADD(COALESCE(c.DISCHARGE_DATE, '1970-01-01'), 2) >= a.days
and left(c.DISCHARGE_DATE, 10) <= a.days
and b.ADMISSION_ID = c.ADMISSION_ID
Where c.ADMISSION_ID is null and b.ADMISSION_ID is not null
在2.1.8中可以正常执行,但是在2.1.10中报如下错误:
Execution failed: Error Failed to execute sql: java.sql.SQLException: (conn=1074) errCode = 2, detailMessage = (10.10.31.6)[CANCELLED][E-218] Operation months_add 0 2 out of range 0# doris::Exception::Exception(int, std::basic_string_view<char, std::char_traits > const&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:173 1# doris::Exception::Exception<char const* const&, unsigned long const&, long&>(int, std::basic_string_view<char, std::char_traits > const&, char const* const&, unsigned long const&, long&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:187 2# doris::vectorized::DateTimeOp<unsigned long, unsigned long, unsigned long, doris::vectorized::AddMonthsImpl >::vector_constant(doris::vectorized::PODArray<unsigned long, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul> const&, doris::vectorized::PODArray<unsigned long, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul>&, long) at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function_date_or_datetime_computation.h:474 3# doris::vectorized::DateTimeAddIntervalImpl<unsigned long, doris::vectorized::AddMonthsImpl, unsigned long>::execute(doris::vectorized::Block&, std::vector<unsigned long, std::allocator > const&, unsigned long, unsigned long) at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function_date_or_datetime_computation.h:0 4# doris::vectorized::FunctionDateOrDateTimeComputation<doris::vectorized::AddMonthsImpl >::execute_impl(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator > const&, unsigned long, unsigned long) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function_date_or_datetime_computation.h:0 5# doris::vectorized::DefaultExecutable::execute_impl(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator > const&, unsigned long, unsigned long) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.h:470 6# doris::vectorized::PreparedFunctionImpl::execute_without_low_cardinality_columns(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator > const&, unsigned long, unsigned long, bool) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.cpp:0 7# doris::vectorized::PreparedFunctionImpl::execute(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator > const&, unsigned long, unsigned long, bool) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.cpp:250 8# doris::vectorized::IFunctionBase::execute(doris::FunctionContext*, doris::vectorized::Block&, std::vector<unsigned long, std::allocator > const&, unsigned long, unsigned long, bool) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/functions/function.h:195 9# doris::vectorized::VectorizedFnCall::_do_execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*, std::vector<unsigned long, std::allocator >&) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vectorized_fn_call.cpp:182 10# doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:335 11# doris::vectorized::VCastExpr::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:494 12# doris::vectorized::VectorizedFnCall::_do_execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*, std::vector<unsigned long, std::allocator >&) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:494 13# doris::vectorized::VectorizedFnCall::execute(doris::vectorized::VExprContext*, doris::vectorized::Block*, int*) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_vector.h:335 14# doris::vectorized::VExprContext::execute(doris::vectorized::Block*, int*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:380 15# doris::vectorized::VExprContext::execute_conjuncts(std::vector<std::shared_ptr, std::allocator<std::shared_ptr > > const&, std::vector<doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul>, std::allocator<doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul>> > const*, bool, doris::vectorized::Block*, doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul>, bool) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:494 16# doris::vectorized::VExprContext::execute_conjuncts(std::vector<std::shared_ptr, std::allocator<std::shared_ptr > > const&, std::vector<doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul>, std::allocator<doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul>> > const*, doris::vectorized::Block*, doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul>, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exprs/vexpr_context.cpp:158 17# doris::vectorized::ProcessHashTableProbe<8, doris::pipeline::HashJoinProbeLocalState>::do_other_join_conjuncts(doris::vectorized::Block*, std::vector<unsigned char, std::allocator >&, bool) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:494 18# doris::Status doris::vectorized::ProcessHashTableProbe<8, doris::pipeline::HashJoinProbeLocalState>::do_process<false, true, doris::vectorized::MethodSerialized<doris::JoinHashTable<doris::StringRef, DefaultHash<doris::StringRef, void> > >, true, false>(doris::vectorized::MethodSerialized<doris::JoinHashTable<doris::StringRef, DefaultHash<doris::StringRef, void> > >&, doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul> const*, doris::vectorized::MutableBlock&, doris::vectorized::Block*, unsigned long) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/join/process_hash_table_probe_impl.h:0 19# auto doris::vectorized::ProcessHashTableProbe<8, doris::pipeline::HashJoinProbeLocalState>::process<false, true, doris::vectorized::MethodSerialized<doris::JoinHashTable<doris::StringRef, DefaultHash<doris::StringRef, void> > > >(doris::vectorized::MethodSerialized<doris::JoinHashTable<doris::StringRef, DefaultHash<doris::StringRef, void> > >&, doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul> const*, doris::vectorized::MutableBlock&, doris::vectorized::Block*, unsigned long, bool, bool)::{lambda(auto:1, auto:2)#1}::operator()<std::integral_constant<bool, false>, std::integral_constant<bool, true> >(std::integral_constant<bool, false>, std::integral_constant<bool, true>) const at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/join/process_hash_table_probe_impl.h:670 20# doris::Status doris::vectorized::ProcessHashTableProbe<8, doris::pipeline::HashJoinProbeLocalState>::process<false, true, doris::vectorized::MethodSerialized<doris::JoinHashTable<doris::StringRef, DefaultHash<doris::StringRef, void> > > >(doris::vectorized::MethodSerialized<doris::JoinHashTable<doris::StringRef, DefaultHash<doris::StringRef, void> > >&, doris::vectorized::PODArray<unsigned char, 4096ul, Allocator<false, false, false, DefaultMemoryAllocator>, 16ul, 16ul> const*, doris::vectorized::MutableBlock&, doris::vectorized::Block*, unsigned long, bool, bool) at /home/zcp/repo_center/doris_release/doris/be/src/vec/exec/join/process_hash_table_probe_impl.h:676 21# _ZNSt8__detail9__variant17__gen_vtable_implINS0_12_Multi_arrayIPFNS0_21__deduce_visit_resultIvEEOZNK5doris8pipeline22HashJoinProbeOperatorX4pullEPNS5_12RuntimeStateEPNS5_10vectorized5BlockEPbE3$0RSt7variantIJSt9monostateNSA_16MethodSerializedINS5_13JoinHashTableINS5_9StringRefE11DefaultHashISK_vEEEEENSA_15MethodOneNumberIhNSJ_Ih9HashCRC32IhEEEEENSP_ItNSJ_ItSQ_ItEEEEENSP_IjNSJ_IjSQ_IjEEEEENSP_ImNSJ_ImSQ_ImEEEEENSP_INSA_7UInt128ENSJ_IS13_SQ_IS13_EEEEENSP_INSA_7UInt256ENSJ_IS17_SQ_IS17_EEEEENSA_15MethodKeysFixedIS11_Lb1EEENS1B_IS11_Lb0EEENS1B_IS15_Lb1EEENS1B_IS15_Lb0EEENS1B_IS19_Lb1EEENS1B_IS19_Lb0EEENS1B_INSJ_INSA_7UInt136ESQ_IS1I_EEELb1EEENS1B_IS1K_Lb0EEEEERSG_IJSH_NSA_21ProcessHashTableProbeILi0ENS6_23HashJoinProbeLocalStateEEENS1P_ILi2ES1Q_EENS1P_ILi8ES1Q_EENS1P_ILi1ES1Q_EENS1P_ILi4ES1Q_EENS1P_ILi3ES1Q_EENS1P_ILi5ES1Q_EENS1P_ILi7ES1Q_EENS1P_ILi9ES1Q_EENS1P_ILi10ES1Q_EENS1P_ILi11ES1Q_EEEEOSG_IJSt17integral_constantIbLb0EES24_IbLb1EEEES28_EJEEESt16integer_sequenceImJLm1ELm3ELm0ELm1EEEE14__visit_invokeESF_S1O_S23_S28_S28 at /home/zcp/repo_center/doris_release/doris/be/src/pipeline/exec/hashjoin_probe_operator.cpp:312 22# doris::pipeline::HashJoinProbeOperatorX::pull(doris::RuntimeState*, doris::vectorized::Block*, bool*) const at /home/zcp/repo_center/doris_release/doris/be/src/pipeline/exec/hashjoin_probe_operator.cpp:312 23# doris::pipeline::StatefulOperatorX::get_block(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:494 24# doris::pipeline::OperatorXBase::get_block_after_projects(doris::RuntimeState*, doris::vectorized::Block*, bool*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:494 25# doris::pipeline::PipelineXTask::execute(bool*) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:494 26# doris::pipeline::TaskScheduler::_do_work(unsigned long) at /home/zcp/repo_center/doris_release/doris/be/src/common/status.h:380 27# doris::ThreadPool::dispatch_thread() at /home/zcp/repo_center/doris_release/doris/be/src/util/threadpool.cpp:0 28# doris::Thread::supervise_thread(void*) at /var/local/ldb-toolchain/bin/../usr/include/pthread.h:562 29# start_thread 30# clone