【发布时间】:2017-07-19 12:49:38
【问题描述】:
Actual_results 列中的数据:6 期望输出:6%
程序:
BEGIN
SELECT CYTOTOXICITY_PF,
CYTOTOXICITY_PER
INTO bio_test,
B_ACTUAL_RESULT
FROM src_material
WHERE study_id =V_ITEM_ID(i)
AND NEW_MAT_NUMBER=V_NEW_MAT_NUMBER(I);
b_test3:='CYTOTOXICITY';
EXCEPTION
WHEN TOO_MANY_ROWS THEN
INSERT
INTO TCE_DATA_ISSUES VALUES
(
V_ITEM_ID(i),
'CYTOTOXICITY',
V_NEW_MAT_NUMBER(I),
TRANS_NAME,
'TOO MANY ROWS'
);
bio_test :='';
B_ACTUAL_RESULT:='';
END;
ELSE
bio_test :=F_GET_TEST_VALUE(V_ITEM_ID(i),b_test3,V_NEW_MAT_NUMBER(I));
B_ACTUAL_RESULT:='';
END IF;
BEGIN
INSERT
INTO tce_test_result_form
(
UNQ_NUM,
MIG_STATUS,
ITEM_ID,
REV_ID,
FORM_NAME,
CREATION_DATE,
B4_TEST_NAME,
B4_ACTUAL_RESULT,
B4_PASS_FAIL,
B4_EXTRACTION_TEMPERATURE
)
VALUES
(
V_UNQ_NUM,
'CREATE',
V_ITEM_ID(i),
'A',
CASE b_test3
WHEN 'HEMOLYSIS_PF'
THEN V_ITEM_ID(i)
||'/A'
||'_Hemocompatibility - In Vitro Hemolysis Assay Indirect'
ELSE V_ITEM_ID(i)
||'/A'
||'_'
||b_test3
END,
V_CREATION_DATE(i),
CASE b_test3
WHEN 'HEMOLYSIS_PF'
THEN 'Hemocompatibility - In Vitro Hemolysis Assay Indirect'
ELSE B_TEST3
END,
NVL(B_ACTUAL_RESULT,'N/A'),
CASE
WHEN BIO_TEST IN('P','P')
THEN 'PASS'
WHEN BIO_TEST IN('f','F')
THEN 'FAIL'
ELSE 'NOT REQUIRED'
END,
B_EXTRACT_TEMPERATURE
);
如何将“%”添加到 ACTUAL_RESULTS?
我可以NVL(V_ACTUAL_RESULT || '%', 'N/A')吗?
(因为如果 ACTUAL RESULT 中没有值,我被要求更新 N/A)
【问题讨论】:
-
您不应该将单位存储在与值相同的字段中
-
您最好在值字段旁边添加一个“单位”字段,例如 ` "%" as Unit, `。这样您仍然可以对值字段进行数字运算