SQL Server 2005

テーブル一覧の取得

SELECT *
  FROM INFORMATION_SCHEMA.TABLES

テーブルのカラム一覧の取得

SELECT *
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE TABLE_NAME = 'テーブル名'

任意のカラムを含むテーブルの列挙

SELECT TABLE_NAME
  FROM INFORMATION_SCHEMA.COLUMNS
 WHERE COLUMN_NAME = 'カラム名'

ID列とレプリケーション

2台のSQLサーバをマージレプリケーション構成で使用していたときの話。 ID列を含むテーブルに対して大量にINSERT文を発行したところ、エラーが発生してしまった。どうやら一度にINSERTできる数に制限がかかっているらしい。

[ローカルパブリケーション]→[データベース名]→右クリック[プロパティ]→ ページの選択[アーティクル]→[宛先マスタ]→[宛先コード]→ [アーティクルのプロパティ]→ [反転表示されたテーブル アーティクルのプロパティを設定] [サブスクライバの範囲サイズ]

ここでサイズの値を変更することで、制限数を任意に変更することが出来る。

ID 列のレプリケート
http://msdn.microsoft.com/ja-jp/library/ms152543(SQL.90).aspx

改行コードを記述する

  • CRLF
    SELECT char(13) + char(10)

バージョンを取得する

  • 組み込み定数@@Versionを参照する。
    SELECT @@Version
    結果:
    Microsoft SQL Server 2005 - 9.00.3054.00 (Intel X86)   Mar 23 2007 16:28:52   Copyright (c) 1988-2005 Microsoft Corporation  Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

データベースサイズの見積もり

データベース サイズの見積もり
http://msdn.microsoft.com/ja-jp/library/ms187445(SQL.90).aspx

日付のフォーマット

個別の要素を取り出す

  • datename関数を用いると、年月日などを個別に取得できる。
    select getdate(),
           datename(year, getdate()), 
           datename(month, getdate()), 
           datename(day, getdate()),
           datename(hour, getdate()),
           datename(minute, getdate()),
           datename(second, getdate()),
           datename(millisecond, getdate())
    
    2009-06-17 10:17:37.137	2009	06	17	10	17	37	137
    
    (1 行処理されました)
他の要素についてはURL参照
http://technet.microsoft.com/ja-jp/library/ms174395.aspx

個別の要素

  • 1ヵ月後の日付などを得るには、dateadd関数を使用する。
    SELECT dateadd(month, 1, getdate())

DateTime型の範囲

  • 日付範囲:1753 年 1 月 1 日〜 9999 年 12 月 31 日
  • 時刻範囲:00:00:00 〜 23:59:59.997
  • 既定値:1900-01-01 00:00:00

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-06-19 (金) 14:58:52 (3771d)