前回の続き
前回はスカラ―関数をつくりました。
今回はこれの応用です。
スカラ―関数の定義変更
まず、定義したスカラ―関数をどこで確認すればよいかということですが、
オブジェクトエクスプローラーから、
[プログラミング]→[関数]→[スカラー値関数]を展開すると確認できます。
では、前回作ったJP_YEARを開いて確認してみます。
[右クリック]→[変更]を押してください。
こんな感じで展開されます。
ビューでやった時と同じで、すでにALTER定義がされているので、それ以下を変更して実行するだけで定義変更が可能です。
使い方の応用
スカラ―変数の使い方の応用です。
例えば、SELECT句で使うにはこんなことが考えられます。
SELECT ModifiedDate, dbo.JP_YEAR(ModifiedDate) AS NENDO FROM Person.Person
こんな感じに、カラムの値に対してすべてを演算してくれます。
こんなこともできます。
SELECT ModifiedDate FROM Person.Person WHERE dbo.JP_YEAR(ModifiedDate) > 2010
カラムごとの演算結果をWHERE句で比較してあげることができるのです。
さらにこんなことも
SELECT ModifiedDate, dbo.JP_YEAR(ModifiedDate) FROM Person.Person ORDER BY dbo.JP_YEAR(ModifiedDate)
カラムごとの演算結果でソートしてあげることも可能です。
もちろんSELECT文以外でもよくて例えば、 UPDATE文やINSERT文に使うことも考えられます。
こんなかんじにSQLを単純にかくために関数って便利ですよね。
以上、今回はここまで。