MW211 EXIT

devlog
MSSQL/数値変換
2015年03月10日
文字列を数値変換する場合、例えば先頭2文字を抜き出し数値変換する場合、
単純に組み合わせれば以下のような形が考えられる。
┌──────────────────────────────────────┐
│CONVERT(int, LEFT([列], 2))                                                 │
└──────────────────────────────────────┘
しかしながら、これだと数値変換できなイレギュラーなケースでエラーとなってしまう。

そういったことに対応できる堅牢な手段となると、以下がある。
┌──────────────────────────────────────┐
│TRY_CAST(LEFT([列], 2) AS int)                                              │
└──────────────────────────────────────┘
変換に失敗した場合はエラーにせず「NULL」にしてくれる。
但し、うまくいってしまい「0」になる場合もあるから注意。
(ExcelVBAの「Val()」と似たようなものだ)
分類:MSSQL