SQLServer

レコードの追加・更新・削除の内容をTransact-SQLで参照する方法を紹介します。

コーディング例実行結果SEQACTIONBEFORE_IDBEFORE_NAMEAFTER_IDAFTER_NAME1INSNULLNULL ...

SQLServer

1000万件以上のレコードを持つテーブルのレコード数を高速で取得する方法を紹介します。

コーディング例実行結果RecordCount12345678

レコード数を取得する場合は通常「SELECT COUNT(*) FROM ...

SQLServer

カンマ区切りの文字列をテーブルに変換する関数STRING_SPLITを紹介します。

コーディング例実行結果valueAAABBBCCCDDDEEE

STRING_SPLIT関数の第1引数に対象となるカンマ区切りの文字列を指定 ...

SQLServer

ストアドプロシージャ等でDECLAREで定義した変数に値を代入する場合、SET句やSELECT句を使用しますが、SELECT句を使用するとコードがスッキリします。

コーディング例実行結果@ThisDate@NextDate@Te ...

SQLServer

データをテーブルへ登録する際に、対象データの存在確認のためにSELECT文を発行し、対象データが存在しなければINSERT文を発行、対象データが存在すればUPDATE文を発行することがあると思いますが、この一連の処理を1文で記述する方 ...

SQLServer

レコード毎に前レコードからの累計を算出するSQLを紹介します。

コーディング例実行結果氏名日勤務時間累計佐藤1500500佐藤25501050佐藤301050佐藤46001650佐藤54502100山本100山本2460460山 ...

SQLServer

Transact-SQLステートメントからCSVを出力する方法を紹介します。

コーディング例実行結果

test.csv

AAA
BBB
CCC
DDD
EEE

43行目のxp_cmd ...

2020-06-23Python

2020-06-23

pyodbcでSQLServer上で実行したSELECT文のカラム名を取得するにはdescriptionプロパティを参照すると取得することができます。

2019-11-25SQLServer

2019-11-25

検索画面等で抽出したデータ件数が多い場合、レスポンスを良くするために50件毎にページ送りするようなことがあると思います。
その場合にレコードに連番をつけることで簡単にページ送りが可能になります。
ここではレコードに連番 ...

2019-11-25SQLServer

2019-11-25

グループ毎に連番を付けるSQLを紹介します。

コーディング例実行結果枝番氏名年月日出勤退勤1佐藤201909018:5318:072佐藤201909029:5319:073佐藤2019090310:5320:071山本20190 ...

2019-11-25SQLServer

2019-11-25

前レコードの値を参照するSQLを紹介します。

コーディング例実行結果氏名前日前日出勤前日退勤当日当日出勤当日退勤佐藤0201909018:5318:07佐藤201909018:5318:07201909029:5319:07佐藤 ...

2019-11-25SQLServer

2019-11-25

前回、ROW_NUMBERを使った前レコードの値を参照するSQLを紹介しましたが、別の方法を紹介します。

コーディング例実行結果氏名日勤務時間前日佐藤15000佐藤25501佐藤302山本100山本24601山本35102田中1 ...

2019-11-14SQLServer

2019-11-14

SQLServerではMERGE文を使うと更新先に該当のキーのデータがあるかないかをIF文で確認したりせずに1行でINSERTもしくはUPDATE文を切り替えて実行することができます。

2019-11-13SQLServer

2019-11-13

SQLServerで検索時Order BYでNULLのデータを後ろに並べるにはORDER BY句にちょっとした工夫が必要になります。今回はCASE WHEN、ISNULL関数を利用した方法を解説します。

2019-11-06SQLServer

2019-11-06

SQLServerのT-SQLには指定した文字(文字列)を繰り返し出力してくれる関数があります。LEN関数などと組み合わせることでSELECTした文字列の長さを統一できるなどといったメリットがREPLICATE関数にはあります。

2019-10-24SQLServer

2019-10-24

SQLServerではsys.objects, sys.columns,sys.tables,sys.key_constraints,sys.index_columnsシステムビューを利用すればユニークインデックスとカラム情報を取得す ...

2019-10-23SQLServer

2019-10-23

SQLServerでテーブルのカラム名を取得する方法はsys.objects, sys.columnsという2つのシステムビューを利用して取得します。

2019-10-06SQLServer

2019-10-06

レコードに自身のコードと親コードを持ち、親子関係よりツリー構造を抽出するものをOracleでは階層問合せといい、START WITH句、CONNECT BY句を使用して抽出できますが、SQL ServerにはSTART WITH句、C ...

2019-10-06SQLServer

2019-10-06

例えば出勤時刻・退勤時刻のデータを基に、タイムカードのような1ヶ月分の出退データを出力する場合、出勤時刻や退勤時刻は主に平日だけしかデータがないので、ベースとなる1ヶ月分の日付データを作成する必要があります。
そういった場合に ...

2019-09-21SQLServer

2019-09-21

日付型を文字列に変換する場合、VBではFORMAT関数、JAVAではToStringメソッドでyyyyMMddのような日付書式を指定して変換しますが、SQL Serverでは日付書式を指定した文字列への変換ができません。
そこ ...

2019-04-09SQLServer

2019-04-09

SQLServerにはセッションが有効な間だけ利用できる一時テーブル(テンポラリーテーブル)を作成することができます。この一時テーブル(テンポラリーテーブル)を利用すると一時的にデータを保管できたりSQLが簡潔に書けるようになるなどと ...

2018-12-19SQLServer

2018-12-19

SQLServerで指定された文字列をカンマ区切りにする方法です。
※SQL Server 2016以降では「STRING_SPLIT」という関数が実装されています

SQLServerで文字列をカンマ区切りにする方法

2018-09-07SQLServer

2018-09-07

連番で作成した情報で抜け番を探すというのは割とよくある処理です。今回はそれをSQLで簡単に取得する方法を解説します。

2018-08-28SQLServer

2018-08-28

SQLServerは無料でデータベース容量が10GBまでの小規模のデータベースシステムを使ったアプリケーションやシステムであれば「SQL Server 2017 Express」が利用でき、本番運用はできませんが、開発環境や技術検証用 ...

2018-05-10SQLServer

2018-05-10

SQLServerでは「WITH ROLLUP」と「GROUPING()」を組み合わせて利用することで、データの小計や総合計を出力することができます。

2018-05-10SQLServer

2018-05-10

SQLServerでシステム内でユニークな値を利用したい時があります。そのような時に便利に使えるのがNEWID()です。

2018-05-10SQLServer

2018-05-10

SQL ServerではPIVOT句を利用することで、簡単に縦横(行列)変換することができます。

2018-03-23SQLServer

2018-03-23

SQL Server 2016以前のSQLServerには指定した文字で文字列を分割する関数が用意されていないので、自作する必要があります。

2018-02-07イントラマート

2018-02-07

イントラマートでSQLServerの一時テーブルがうまく使用できない

2017-11-15SQLServer

2017-11-15

SQLServerの関数には「ゼロパディング」をしてくれる関数がありませんがRIGHT関数を使って簡単に「ゼロパディング」できます。