PythonのpyodbcモジュールでWindows認証でSQLServerに接続する方法

PythonからSQLserverに接続するにはpyodbcモジュールを使って行えばWindows認証で簡単に接続することができます。
SQLServerでレコード更新内容を参照する

レコードの追加・更新・削除の内容をTransact-SQLで参照する方法を紹介します。
コーディング例実行結果SEQACTIONBEFORE_IDBEFORE_NAMEAFTER_IDAFTER_NAME1INSNULLNULL ...SQLServerで大量レコードを持つテーブルのレコード数を取得する

1000万件以上のレコードを持つテーブルのレコード数を高速で取得する方法を紹介します。
コーディング例実行結果RecordCount12345678レコード数を取得する場合は通常「SELECT COUNT(*) FROM ...
SQLServerでカンマ区切り文字列をテーブルに変換する関数STRING_SPLIT

カンマ区切りの文字列をテーブルに変換する関数STRING_SPLITを紹介します。
コーディング例実行結果valueAAABBBCCCDDDEEESTRING_SPLIT関数の第1引数に対象となるカンマ区切りの文字列を指定 ...
SQLServerでSELECT句で変数代入

ストアドプロシージャ等でDECLAREで定義した変数に値を代入する場合、SET句やSELECT句を使用しますが、SELECT句を使用するとコードがスッキリします。
コーディング例実行結果@ThisDate@NextDate@Te ...SQLServerでデータの有無でINSERTとUPDATEを判断する

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

レコード毎に前レコードからの累計を算出するSQLを紹介します。
コーディング例実行結果氏名日勤務時間累計佐藤1500500佐藤25501050佐藤301050佐藤46001650佐藤54502100山本100山本2460460山 ...SQLServerでTransact-SQLからCSV出力する

Transact-SQLステートメントからCSVを出力する方法を紹介します。
コーディング例実行結果test.csv
AAABBB
CCC
DDD
EEE
43行目のxp_cmd ...
SQL Serverで次レコードの値を参照する

前回は前レコードの値を参照するSQLを紹介しましたが、今回は次レコードの値を参照するSQLを紹介します。
コーディング例実行結果氏名日勤務時間前日佐藤15002佐藤25503佐藤30999山本102山本24603山本351099 ...SQL Serverでレコードに連番を付ける

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

グループ毎に連番を付けるSQLを紹介します。
コーディング例実行結果枝番氏名年月日出勤退勤1佐藤201909018:5318:072佐藤201909029:5319:073佐藤2019090310:5320:071山本20190 ...SQL Serverで前レコードの値を参照する

前レコードの値を参照するSQLを紹介します。
コーディング例実行結果氏名前日前日出勤前日退勤当日当日出勤当日退勤佐藤0201909018:5318:07佐藤201909018:5318:07201909029:5319:07佐藤 ...SQL Serverで前レコードの値を参照する②

前回、ROW_NUMBERを使った前レコードの値を参照するSQLを紹介しましたが、別の方法を紹介します。
コーディング例実行結果氏名日勤務時間前日佐藤15000佐藤25501佐藤302山本100山本24601山本35102田中1 ...MERGE文でデータの存在を確認せずにINSERTまたUPDATEを実行する方法

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

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

SQLServerのT-SQLには指定した文字(文字列)を繰り返し出力してくれる関数があります。LEN関数などと組み合わせることでSELECTした文字列の長さを統一できるなどといったメリットがREPLICATE関数にはあります。
SQLServerでユニークインデックスとカラム情報を取得してテーブル定義書を作成する

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

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

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

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