@ledsun blog

無味の味は佳境に入らざればすなわち知れず

Web+DBの入力値の型変換まとめ

Webの画面から入力された値をどう型変換してDBに格納するかをまとめました。
サーバ言語はC#RDBSQLServer

概要

html JavaScript C# SQLServer
textarea string string nvarchar
text string string 後述
password string string/byte[]*1 varbinary
checkbox boolean bool bit*2
select string int*3 int*4
radio string int int
file - byte[] blob*5

文字列入力

input type="text"はいろいろな種類の値を入れるので悩ましいところ

値の種類 JavaScript C# SQLServer
文字 string string nvarchar
整数 number int int
少数 number decimal numeric
固定長コード string string varchar*6
日付 Date DateTime*7 datetime2

bigintの出番はシステム側で振るIDの桁が足りない場合かな?

*1:passwordはハッシュ値を保存

*2:intを0/1運用でもいい。

*3:optionタグのvalueには数字を使う

*4:数万レコードなら数字型はintでOK。smallintとかtinyintとかおいしいの?

*5:fileはDBに入れる?

*6:パッと見で空白が分からなくて面倒だからcharは使わない。

*7:JavaScriptC#の日付型は範囲が大いに違うので変換時はチェックが必要