1.はじめに
最近、この本でOracleのアーキテクチャについて学んでいる。
プロとしてのOracleアーキテクチャ入門【第2版】(12c、11g、10g 対応)
学習するなかで、OracleにはCHAR型、VARCHAR2型、NCHAR型、NVARCHAR2型の4つの文字データ型があるという解説があり、VARCHAR型は「2」があって「1」はないのか? MySQLはVARCHAR型で「2」とかついてなかったよな?と疑問になったので調べてみた。
あと、常々日本語でなんと呼べば良いかも気になっていたので調べたのと、改めて「VAR」ってなんやねんって思い始めたのでそれも調べた。
## 4つの文字データ型の概要
種類 | 最大値 | 説明 |
---|---|---|
CHAR | 2000 | 固定長文字列 |
VARCHAR2 | 4000 | 可変長文字列 |
NCHAR | 2000 | Unicodeのみサポートする固定長文字列 |
NVARCHAR2 | 4000 | Unicodeのみサポートする可変長文字列 |
#2.VARCHAR型。2があって1はないのか?
以下のスレッドに回答を見つけたので、以下引用
VERCHARとVERCHAR2がORACLE9iのマニュアルで同義と記述ありました。
まったく同じ物と考えて良いのですか?
又、なぜ2つの型が存在するのか教えて頂けたらと思います。
VERCHAR2はVERCHARの発展形です
今後、VERCHARはサポートされなくなると言われてますのでVERCHAR2を使用した
ほうが良いでしょう
なるほど、元々はVARCHARがあり現在は使われなくなって、その発展形のVARCHAR2が使われていると。。。そら、シンプルに考えるとそうですよね。
VARCHARとVARCHAR2の違いがあるような感じの説明を見かけましたが、2018年現在ではそこら辺の違いを意識する必要はなくなっているんですかね。。。
3.日本語で何と呼べばいいか?
自分は、「バーチャー」って呼んでいるが、年配の方は「バーキャラ」って呼んでいる人が多い印象。もしかして俺、間違ってる?と常々思っていたので調べてみた。
以下のQ&Aサイトのベストアンサーがしっくりきたので、以下引用。
char を何と読みますか?
結局、先に日本語読みに変換してから省略するか、
省略してから日本語読みにするかの違いだけという気がします。
「character」省略→「char」日本語読み→「チャー」
「character」日本語読み→「キャラクタ」省略→「キャラ」
どっちでもOK!
4.改めてVARってなんやねん?
2があってなんで1がないねんと思って気になってみると、そもそも「VAR」ってなんやねんって気がしてきたので調べてみた。以下引用。
VARiable CHARacter
ヴァリアブル キャラクター
「可変長」ってことですね。調べてから思い出したけど、MySQL触ってた時も1回調べた気がする。。。