インフルエンザの症状もほぼなくなり、熱も36度台に下がったので SQL Server v.Next CTP1.1 の情報を見てみる
世の中はすっかり Xmas ムードの真っ只中、自分にはインフルエンザをプレゼントされましたwww ようやく体調が回復したのは、クリスマスイブ。今年の Xmas はまったくついていません。しかし、そんなことには少しもめげず、クリスマスといえども記事を書きます。
今回は、SQL Server v.Next で新しく追加された三つの関数を試してみます。まず一つ目は、TRIM です。これは長らく対応が待たれていたものではないでしょうか? RTRIM と LTRIM の組み合わせで何回も記述するのが面倒なので、関数を作成した方も多かったかと思います。(私もその一人。)
ryuchan.hatenablog.com
二つ目は、CONCAT_WS です。これも個人的には欲しかった関数です。v.Next 以前のバージョンでは、各列をカンマで連結するのも下記のようにクエリを書く必要がありました。列数が多いと見た目も非常に悪いですね。
SELECT CONCAT(BusinessEntityID, ',', PersonType, ',', NameStyle, ',', Title, ',', FirstName, ',', MiddleName, ',', LastName, ',', Suffix, ',', EmailPromotion) FROM Person.Person WHERE BusinessEntityID = 1
CONCAT_WS を使用すると、下記の通りスッキリ記述することができます。
SELECT CONCAT_WS(',', BusinessEntityID, PersonType, NameStyle, Title, FirstName, MiddleName, LastName, Suffix, EmailPromotion) FROM Person.Person WHERE BusinessEntityID = 1
三つ目は、TRANSLATE です。例えば、2*[3+4]/{7-2} という式を 2*(3+4)/(7-2) に変更する場合、どのようなクエリを記述するでしょうか?おそらく下記のようになるかと思います。(このような記述意外としてる方多いと思います。自分のまわりにも...)
SELECT REPLACE(REPLACE(REPLACE(REPLACE('2*[3+4]/{7-2}','[','('), ']', ')'), '{', '('), '}', ')')
上記のクエリを TRANSLATE を使用すると、下記のように記述できます。こちらも同様スッキリ記述できます。
SELECT TRANSLATE('2*[3+4]/{7-2}', '[]{}', '()()')
v.Next でいい関数が追加されていますね。クエリが美しくなる機能追加は良いことです。
インフルエンザで体の節々に痛みがあったけど、今回はバファリンが結構効いた。
- 出版社/メーカー: ライオン
- 発売日: 2000/09/13
- メディア: ヘルスケア&ケア用品
- この商品を含むブログ (2件) を見る
プレミアムとかあるのか。
- 出版社/メーカー: ライオン
- 発売日: 2014/02/26
- メディア: ヘルスケア&ケア用品
- この商品を含むブログを見る