システムトラスト技術ブログシステムトラスト社員が作成する技術情報ブログです。2020-02-12前回は前レコードの値を参照するSQLを紹介しましたが、今回は次レコードの値を参照するSQLを紹介します。2019-12-17検索画面等で抽出したデータ件数が多い場合、レスポンスを良くするために50件毎にページ送りするようなことがあると思います。その場合にレコードに連番をつけることで簡単にページ送りが可能になります。2019-12-17グループ毎に連番を付けるSQLを紹介します。2019-12-17前レコードの値を参照するSQLを紹介します。2019-12-17前回、ROW_NUMBERを使った前レコードの値を参照するSQLを紹介しましたが、別の方法を紹介します。2019-12-17SQLServerではMERGE文を使うと更新先に該当のキーのデータがあるかないかをIF文で確認したりせずに1行でINSERTもしくはUPDATE文を切り替えて実行することができます。BY句にちょっとした工夫が必要になります。WHEN、ISNULL関数を利用した方法を解説します。2019-12-17SQLServerのT-SQLには指定した文字(文字列)を繰り返し出力してくれる関数があります。LEN関数などと組み合わせることでSELECTした文字列の長さを統一できるなどといったメリットがREPLICATE関数にはあります。sys.columnsという2つのシステムビューを利用して取得します。データを基に、タイムカードのような1ヶ月分の出退データを出力する場合、出勤時刻や退勤時刻は主に平日だけしかデータがないので、ベースとなる1ヶ月分の日付データを作成する必要があります。Serverでは日付書式を指定した文字列への変換ができません。2019-12-17SQLServerにはセッションが有効な間だけ利用できる一時テーブル(テンポラリーテーブル)を作成することができます。2019-12-17SQLServerで指定された文字列をカンマ区切りにする方法です。2019-12-17連番で作成した情報で抜け番を探すというのは割とよくある処理です。今回はそれをSQLで簡単に取得する方法を解説します。2019-12-17SQLServerのT-SQLで指定した月の月末日付を求めるには「EOMONTH」関数を使うと簡単に取得できます。今回はEOMONTHの使い方を解説します。ROLLUP」と「GROUPING()」を組み合わせて利用することで、データの小計や総合計を出力することができます。2019-12-17SQLServerでシステム内でユニークな値を利用したい時があります。そのような時に便利に使えるのがNEWID()です。ServerではPIVOT句を利用することで、簡単に縦横(行列)変換することができます。StudioでSQL文の整形ができれば便利なんですが標準では整形の機能は備わっていません。そこで、外部ツールを使用して整形できるようにする方法を紹介します。2016以前のSQLServerには指定した文字で文字列を分割する関数が用意されていないので、自作する必要があります。2008以降でTYR~CATCH文で例外をキャッチすることができます。2019-12-17SQLServerの関数には「ゼロパディング」をしてくれる関数がありませんがRIGHT関数を使って簡単に「ゼロパディング」できます。...人材募集中です。システムトラストでは、システムエンジニア、プログラマーなどを随時募集中です。気軽にご相談ください。「2.サーバー」WMSのサーバーはセンター全体を管理・統括する非常に重要な役目をになっています。Serverでグループ毎に連番を付けるグループ毎に連番を付けるSQLを紹介します。