MS SQL Server char系の型
* char
8,000byte以内の固定長。日本語は2byte換算される。
* varchar
8,000byte以内の可変長。日本語は2byte換算される。
* nchar
4,000文字以内の固定長。
* nvarchar
4,000文字以内の可変長。
参考。
要は、*charはbyte換算。n*charは、文字数換算。
因みに照合順序名は、Japanese_CI_ASの時です。調べて無いから知らないけど、他の照合順序名の場合とかは変わってくるかも(Japanese_Unicodeとか)。
基本的な事なんだろうけど、DBによってこういうのって微妙に違うんだよね。昔、Oracle + JDBC(Thin)でハマった思い出があるよ。あの時は、JDBC内部の文字列換算と、Oracle自体の文字列換算が食い違っててOracleが規定してる型最大長の文字数が入力できなかったりとかね。
なんか、最近思ったのは独りWiki見たいのをつくってこれまでのナレッジとかこういうメモ系を溜めていこうと思った。忘れがちだしね。まあ、やり方は別にblogでも良いんだけど。
Comments
なるほど。いや、なんとなく照合順序にUnicodeって入ってると変わってくるのかなーとか思ってたんですけどね。
Posted by: keita | July 29, 2004 01:22 AM