行動記録のソースコード公開

5年以上前に書いたソースコードでろくにメンテナンスもしてないけど、何かの役に立てばと思い、とりあえず全ソースコード公開。
https://github.com/rinevo/JobCostManager

アイコン素材入手元
ICON HOIHOI
http://iconhoihoi.oops.jp/

教材

jQuery日本語リファレンス
http://semooh.jp/jquery/
jQuery UI
http://jqueryui.com/

CASE文の戻り値の型

int型フィールドの値が0ならば、結果を”(空文字)にしたい場合

このような書き方だと、結果は0になります。

(CASE aaa.[コード] WHEN 0 THEN ” ELSE aaa.[コード] END) AS [コード]

これは、データ型の優先順位があって、暗黙的な変換が行われてしまうことから、”が0に変換されてしまうようです。
データ型の優先順位 (Transact-SQL)

次のように優先順位の低いほうにあわせてCASTすれば、期待どおり結果を”にできます。

(CASE aaa.[コード] WHEN 0 THEN ” ELSE CAST(aaa.[コード] AS VARCHAR) END) AS [コード]

■参考
http://msdn.microsoft.com/ja-jp/library/ms181765.aspx

NULL値の変換

SELECT文で取得した値がNULL値になることがある場合、次のような書き方だと、どちらかがNULL値だと、結果がNULL値になってしまいます。

(ensen.[沿線名] + ‘ ‘ + ekimei.[駅名]) AS [最寄駅]

このようなとき、ISNULL関数を使うと、NULL値を変換した結果を得ることができます。

(ISNULL(ensen.[沿線名],”) + ‘ ‘ + ISNULL(ekimei.[駅名],”)) AS [最寄駅]

■参考
http://news.mynavi.jp/articles/2008/10/31/tsql/index.html