Oracleの文字型(VARCHAR, VARCHAR2, CHAR)について


🐰 Oracle SQLでの文字コード確認

Oracleで使われている文字コードの確認。

SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';

🎂 VARCHAR2型のサイズについて

VARCHAR2(100)の場合は100バイトまでの文字列を格納できます。文字コード別のバイトサイズは次のとおりです。

https://www.shift-the-oracle.com/config/multibyte-characterset.html

🏀 補足:Railsでのバリデーション

Railsのモデルのバリデーションでバイトサイズでチェックするサンプルコードです。

class Product
validate :length_of_name
def length_of_name
# エンコードがShift_JISの場合
size = name.to_s.encode('Shift_JIS').bytesize rescue nil # rubocop:disable Style/RescueModifier
errors.add(:name, :too_long_byte) if size && size > 100
end
end

🍣 参考リンク

🖥 VULTRおすすめ

VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。 最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!

📚 おすすめの書籍