to_t.COUNTRY_CD is varchar2(10 byte)
from_t.DESCRIPTION is varchar2(60 bytes)
我想将from_t.DESCRIPTION的数据插入到to_t.COUNTRY_CD&#39>
当我插入时,我需要过滤掉更大的数据。这是我出现的sql
我想知道如何做WHERE (from_t.DESCRIPTION <= 10 byte);
MERGE INTO ADV_TEST_BACKFILL_COUNTRY to_t
USING COUNTRY_CD from_t
ON (to_t.COUNTRY_CD = from_t.DESCRIPTION)
WHEN NOT MATCHED THEN INSERT (
to_t.COUNTRY_CD,
to_t.DESCRIPTION,
to_t.CLOSED_IND,
to_t.UPDATE_WHO,
to_t.UPDATE_ON
)
VALUES (
from_t.DESCRIPTION,
from_t.DESCRIPTION,
from_t.CLOSED_IND,
from_t.UPDATE_WHO,
SYSDATE
) WHERE (from_t.DESCRIPTION <= 10 byte);
答案 0 :(得分:0)
你想要lengthb()
吗?
std::vector
答案 1 :(得分:0)
我不是100%清楚你想在这里实现什么......对我来说,你可能不想“跳过”包含较大数据的行而是将其截断...
无论如何,由于您要将字符串插入较短的字符串,因此您需要提取子字符串以确保它不会破坏较小的列。当然,你会试图“丢失”一些数据(DESCRIPTION
的11+个字符)。
VALUES (
SUBSTR(from_t.DESCRIPTION,0,10),
...