読者です 読者をやめる 読者になる 読者になる

いろいろ備忘録日記

主に .NET と Python絡みのメモを公開しています。

SQLServerのFORMAT関数にハマったのでメモ (2008 R2では使えない)

SQLServerのFORMAT関数にハマったので、忘れないうちにメモメモ。 このFORMAT関数なんですが、MSDNを見ると FORMAT Function (DAX) となっています。パッとみると 2008 R2 2012 2014 と見えるので、2008 R2でもサポートされていると思ってしまいます。 (思…

SQLでCSV形式のデータの個数を数える

忘れない内にメモメモ。 元のデータがとある列に a,b,c,e,d,f みたいな感じで入っている場合 こんな感じで個数を取得できる。 SELECT COALESCE( MAX( (LENGTH(対象列) - COALESCE(LENGTH(REPLACE(対象列, ',')), 0)) + 1 ) ,0 ) AS count FROM XXXX REPLACE…

オラクルでの定義情報の取得 (テーブル定義, カラム定義など)(oracle, user_tables, user_tab_columns, user_views, user_synonyms, user_sequences, user_procedures, user_source)

忘れない内にメモメモ。 [テーブル定義] /* テーブル定義情報を取得 */ SELECT SYS_CONTEXT('USERENV', 'DB_NAME') AS db_name ,USER AS schema_name ,tbls.TABLE_NAME AS table_name ,comments.TABLE_TYPE AS table_type ,comments.COMMENTS AS table_comme…

プライマリーキー(PK)とユニークキー(UQ)の定義情報を取得 (sys.key_constraints, sys.index_columns, sys.tables, sys.columns)

プライマリーキーとユニークキーの定義情報の取得方法です。 忘れないうちにメモメモ。ついでに、先日のカラム定義を取得するSQLにも 組み込んでおきました。 [プライマリーキー情報] SELECT tbls.name AS table_name ,key_const.name AS constraint_name ,i…

シノニム、プロシージャとファンクションの定義情報を取得 (sys.synonyms, sys.procedures, sys.objects, sys.sql_modules)

ついでに、シノニムとプロシージャとファンクションの定義情報の取得方法をメモメモ。 [シノニム] USE AdventureWorks GO /* シノニムの定義を取得 */ SELECT DB_NAME() AS db_name ,SCHEMA_NAME(synonyms.schema_id) AS schema_name ,synonyms.name AS syno…

テーブルとビューの定義情報を取得 (sys.tables, sys.columns, sys.objects, sys.extend_properties, sys.constraints, sys.default_constraints)

前に、テーブルとカラムの説明を取得するSQLを書いていたのですが、説明プラス定義情報を いろいろ取得するSQLです。自分自身が忘れない内にメモメモ。 SqlServerにてテーブルとカラムの説明を取得するSQL (sys.tables,sys.columns,sys.extended_prope…

ビューとトリガーの定義の取得 (sys.objects, sys.sql_modules, sys.views, sys.triggers)

忘れない内にメモメモ。 SQLServerにて、ビューとトリガーの定義の取得方法です。 もっといいやり方知っている方いらっしゃったら教えてください。m(_ _)m [ビュー] USE AdventureWorks GO /* ビューの定義を取得 */ SELECT (schemas.name + '.' + views.nam…

分析関数の衝撃 By CodeZine (SUM, MAX, MIN, OVER, PARTITION BY)

なんで、もっと早くこれを見ていなかったんだと後悔中・・・w 目から鱗でした。URL忘れないためにメモメモ。 分析関数の衝撃(前篇) http://codezine.jp/article/detail/1269 分析関数の衝撃(中篇) http://codezine.jp/article/detail/1298 分析関数の衝撃(…

ROLLUPとCUBE (Oracle, SQLServer, GROUP BY, GROUPING, GROUPING SETS, 小計, 総合計)

便利な機能なのは、分かっているのについつい忘れてしまうので、メモメモ。 意外に結構しらない人も多いのではないのでしょうかこれ。 SQLで小計や総合計を求める時に、GROUP BYを利用することが多いと思いますが GROUP BYには更に小計と総合計を求めるオプ…

General SQL Parser

sql

SQLの構文解析及び整形などを行なってくれるライブラリみたいです。 商用製品ですが、結構安い(約$79)。 一旦、トライアルをダウンロードして試してみる価値はありかもしれませんね。 一応メモメモ。 General SQL Parser http://www.sqlparser.com/index.php…

SqlServerにてテーブルとカラムの説明を取得するSQL (sys.tables,sys.columns,sys.extended_properties)

普段はオラクルとMySQLを主に使っているので、SqlServerで上記の事をやるのに どうやるのかなかなか分かりませんでした。(泣 SqlServerの場合、オラクルのようにALL_COL_COMMENTSみたいなビューで 一発で取得できるのかと思っていましたら実際には以下のテ…

階層問い合わせ(start with connect by)

たまに、忘れるのでメモ。 oracleで階層構造を手繰るには、connect byを使用します。 たとえば、組織情報を下って表示する場合などが、当てはまります。 以下サンプル。 create table test_table( id int primary key ,name varchar(100) not null ,parent_i…