
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
81 lines
1.8 KiB
Plaintext
81 lines
1.8 KiB
Plaintext
== Why is this an issue?
|
|
|
|
For fixed-length values, a ``++CHAR++`` field occupies the same amount of disk space as a ``++VARCHAR2++`` field, but for variable-length values ``++CHAR++`` fields use more storage space and make searching more difficult by right-padding values with whitespaces. Therefore ``++VARCHAR2++`` fields are preferred. Similarly, ``++NCHAR++`` should be replaced by ``++NVARCHAR2++``.
|
|
|
|
|
|
Note that for 1-character fields, ``++CHAR++`` is naturally equivalent to ``++VARCHAR2++``, but the latter is still preferred for consistency.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,sql]
|
|
----
|
|
DECLARE
|
|
var1 CHAR; -- Noncompliant
|
|
|
|
var2 CHAR(42); -- Noncompliant
|
|
|
|
var3 NCHAR; -- Noncompliant
|
|
|
|
var4 NCHAR(42); -- Noncompliant
|
|
BEGIN
|
|
NULL;
|
|
END;
|
|
/
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,sql]
|
|
----
|
|
DECLARE
|
|
var1 VARCHAR2(42);
|
|
|
|
var2 VARCHAR2(42);
|
|
|
|
var3 NVARCHAR2(42);
|
|
|
|
var4 NVARCHAR2(42);
|
|
BEGIN
|
|
NULL;
|
|
END;
|
|
/
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Make "xxx" a "yyy".
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== on 28 Jan 2015, 19:12:10 Ann Campbell wrote:
|
|
\[~dinesh.bolkensteyn] this description is copied from Nemo. I think the wording may be off: \"``++CHAR++`` occupies *the same amount* of disk space and RAM than ``++VARCHAR2++``..."
|
|
|
|
|
|
Will you comment, please?
|
|
|
|
=== on 8 May 2015, 15:24:02 Dinesh Bolkensteyn wrote:
|
|
\[~ann.campbell.2] I understand the confusion. What is meant is that CHAR uses at least as many bytes as VARCHAR2.
|
|
|
|
|
|
Refer to AskTom for the better explanation ;) \https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:123212348063
|
|
|
|
=== on 11 May 2015, 13:29:32 Ann Campbell wrote:
|
|
please double-check my update [~dinesh.bolkensteyn]
|
|
|
|
=== on 11 May 2015, 14:10:31 Dinesh Bolkensteyn wrote:
|
|
Perfect
|
|
|
|
endif::env-github,rspecator-view[]
|