【发布时间】:2019-05-20 11:01:40
【问题描述】:
我有一个表 TEST_TABLE 有一个名为 LNAME 的列具有 VARCHAR2 数据类型。 要求是 LNAME 的值必须至少为 2 个字符。
1- 创建表
CREATE TABLE TEST_TABLE
(
LNAME VARCHAR2(4000)
);
2 - 插入长度为 1 的记录
INSERT INTO TEST_TABLE (LNAME) VALUES ('A');
LNAME 的值为 'A'。
我需要将此值转换为'A '。 [添加空格以确保满足最小长度条件]。
注意:需要使用 CASE...WHEN 来完成
我的尝试:
select
CASE
WHEN LENGTH(LNAME) < 2
THEN RPAD(LNAME,2)
ELSE ''
END LNAME
from TEST_TABLE;
使用以下查询检查长度:
select LENGTH(LNAME) from TEST_TABLE;
长度返回 1 而不是预期的 2。 RPAD 是将空格附加到“A”末尾的正确方法吗?
【问题讨论】:
-
你想作弊吗?!? "要求 LNAME 的值必须至少为 2 个字符。"
-
为什么要专门加空格。你不应该操纵数据
-
@VenkataramanR 数据处理是我进一步使用我的数据进行进一步操作所需要的。
-
@jarlh 不,先生,不幸的是,我不想作弊。请原谅我用词不当。