[我仍在学习SQLPlus,我正在尝试使用另一个名为DM_Businees
的表(如果有帮助,请使用Oracle DB 12c)中的数据填充一个名为Business
的表。
在INSERT INTO
查询中,我已经输入了:
CASE
WHEN BUSINESS.CATEGORIES LIKE '%Event%' THEN 'Event Planning'
WHEN BUSINESS.CATEGORIES LIKE '%Financial%' THEN 'Financial Services'
WHEN BUSINESS.CATEGORIES LIKE '%Home%' THEN 'Home Services'
WHEN BUSINESS.CATEGORIES LIKE '%Professional%' THEN 'Professional Services'
ELSE 'OTHER'
END
我的目标是检查Categories
中的Business
列:如果它包含单词“ Event”,然后在DM_Business
的列中写入“ Event Planning”。问题在于它不起作用:它没有显示任何错误,但是每一行都为空。
我尝试过同样的事情,但是用数字代替(例如1代替“ Event Planning”,2代替“ Financial Services”,3代替“ Home Services” ...),并且效果很好(列数据类型为varchar2(200)
)。
您能帮我吗?非常感谢。
CASE
WHEN lower(BUSINESS.CATEGORIES) LIKE '%event%' THEN 'Event Planning'
WHEN lower(BUSINESS.CATEGORIES) LIKE 'financial%' THEN 'Financial Services'
WHEN lower(BUSINESS.CATEGORIES) LIKE '%home%' THEN 'Home Services'
WHEN lower(BUSINESS.CATEGORIES) LIKE '%professional%' THEN 'Professional Services'
ELSE 'OTHER'
END
CASE
WHEN BUSINESS.CATEGORIES IS NULL THEN 'UNDEFINED'
WHEN UPPER(BUSINESS.CATEGORIES) LIKE '%EVENT%' THEN 'Event Planning'
WHEN UPPER(BUSINESS.CATEGORIES) LIKE 'FINANCIAL' THEN 'Financial Services' ...