SQL2005

Last-modified: 2015-12-29 (火) 00:20:22

Amazon SQL本

amazon.gif

SQL Server 2005

SQL2005について (ここではExpressEditionについて)

 基本情報

  • サポート終了期限 2016/04/12 まで 参考
  • データ型 範囲
    bigint  -2^63 (-9,223,372,036,854,775,808) ~ 2^63-1 (9,223,372,036,854,775,807)
    int   -2^31 (-2,147,483,648) ~ 2^31-1 (2,147,483,647)
    smallint-2^15 (-32,768) ~ 2^15-1 (32,767)
    tinyint  0 ~ 255
  • nchar と nvarchar の違い 参考
    列データ エントリが類似したサイズになると思われる場合は、nchar を使用します。
    列データ エントリのサイズが大幅に異なると思われる場合は、nvarchar を使用します。

 設定関係

  • 値にNULLを入れる場合には、Ctrl + 0 を押す
  • 拡張について
     自動拡張は有効にする。ログファイルの拡張単位は%ではなくMB指定がよい。%指定の自動拡張中だと大容量の場合には拡張に時間がかかり、拡張中にはログファイルがアクセス不可になりトランザクションができなくなりDB処理が止まるため。ただしMBの指定の範囲はDBの容量の増え方を確認してから、参考
  • MDACのバージョン
     Win2000Serverのインストール時にMDACのバージョンが必要最低条件に満たないと出た。MDACのバージョンが古いとインストールできないようだ。Xpでは問題なかった。

プログラミング(VB2005関係)

SQL Server エラー と そのエラーの原因

  • 文字列データまたはバイナリ データが切り捨てられます。 ステートメントは終了されました。テーブルの項目の長さよりも長い項目を挿入もくしは更新しようとした。 
    対策:Insertしたい項目に['] (アポストロフィ)が含まれる場合の対処法
    'を重ねる。 例, O'Malley ----> O''Malley 参考

 SQL文

  • SQL文のコメント
    文字の先頭で -- 、または、 /* */ で囲む
  • Group化 参考 グループ化とは、同列内の値の中で、同じ値を持つデータごとに集合化すること
    SELECT 顧客コード , 商品コード , MAX(受注個数) FROM 受注表
    GROUP BY 顧客コード , 商品コード
    HAVING MAX(受注個数) >=20;
     
  • サーバーに接続しているユーザーを検索する
    次の例では、サーバーに接続しているユーザーを検索し、各ユーザーのセッション数を返します。
    SELECT login_name ,COUNT(session_id) AS session_count
    FROM sys.dm_exec_sessions
    GROUP BY login_name;
  • セッション数の確認
    SELECT login_name ,session_id FROM sys.dm_exec_sessions
  • データベースの一覧取得 参考
    Select * From sys.sysdatabases  ※ sys.sysdatabases はシステムビュー
  • テーブルの一覧取得
    Select name from sysobjects
  • 今日の日付 CAST および CONVERT
    Select convert(varchar(10),current_timestamp,111)  結果 yyyy/mm/dd  2010/05/30
    Select convert(varchar(10),current_timestamp,112)  結果 yyyymmdd    20100530
    Select convert(varchar(10),current_timestamp,121)  結果 yyyy-mm-dd  2010-05-30
  • 現在時刻
    Select convert(varchar(10),current_timestamp,108)  結果 hh:mm:ss  05:50:05
    Select Replace(convert(varchar(10),current_timestamp,108),':','')   結果 hhmmss  055005

 参考 VB2005での日付時刻の表記

  • 条件に従って文字列を返す ()の部分は省略できる
    Select ID,Name,Sex
    Case Sex
     When 1 Then 'Man'
     When 2 Then 'WoMan'
    End (as 列名)
    From Person

読み物

参考書籍

Amazon SQL本

サイト内リンク

SQL Server系

DB系

OS系

 
amazon.gif

Amazon SQL本