*

* *

関数テクニック

TOPPAGE > SQL > 関数テクニック

 お役立ちレベル100

    日付の加算・減算 ※SQL Server
    DATEADD(加減算単位,加減算数,'日付')
    ・1日を加算
     DATEADD(d,1,'2008/08/08')
    ・1ヶ月を加算
     DATEADD(m,1,'2008/08/08')
    ・1年を加算
     DATEADD(yyyy,1,'2008/08/08')
    ・1年を減算
     DATEADD(yyyy,-1,'2008/08/08')
    日付のフォーマット指定 ※SQL Server
    CONVERT(VARCHAR,GETDATE(),111)
    ⇒ 2008/08/08 
    CONVERT(VARCHAR,GETDATE(),120)
    ⇒ 2008-08-08 22:55:56
    CONVERT(VARCHAR,GETDATE(),112)
    ⇒ 20080808 
    CONVERT(VARCHAR,GETDATE(),11)
    ⇒ 08/08/08 
    CONVERT(VARCHAR,GETDATE(),20)
    ⇒ 08-08-08 22:55:56 
    CONVERT(VARCHAR,GETDATE(),12)
    ⇒ 080808 
    データファイルのInsert BULK INSERT テーブル
    FROM 'CSVファイル名'
    WITH
    (
    FIELDTERMINATOR ='\t',
    FIRSTROW = 2,
    ROWTERMINATOR = '\n'
    )
    SELECT句内での条件判断について SELECT CASE カラム名 WHEN 比較する値 THEN 真の時の値 END
    集合関数(グループ関数)で文字列を連結する方法 通常、Group byでは数値項目の集計を行いますが、ユーザー定義関数を用いる事で文字列を集合関数的に処理する事ができます。
    以下はスカラ関数内に定義する内容です。
    CREATE FUNCTION ファンクション名 (@param データ型)
    RETURNS VARCHAR(4000)
    AS
    BEGIN
    DECLARE @Str VARCHAR(4000)
    SET @Str = ''
    SELECT @Str = @Str + 文字列項目
    FROM テーブル
    WHERE キー項目 = @param
    RETURN( @Str )
    END
    上記を呼び出す際は以下のようなSQLでOKです。
    SELECT グループ対象 dbo.ファンクション名(引数)
    FROM テーブル名
    GROUP BY グループ対象

 お役立ちレベル60

    集合演算子について
    UNION
    ※UNION ALLは重複分を含めた結果

    EXCEPT(OracleではMINUS)

    INTERSECT
    未登録 未登録
    未登録 未登録
    未登録 未登録
    未登録 未登録

 お役立ちレベル20

    未登録 未登録
    未登録 未登録
    未登録 未登録
    未登録 未登録
    未登録 未登録

★★Special Thanks★★
幸せな赤ちゃんの名前
ググる〜ググってはいけない言葉
2ch検索−掲示板の話題を転職に活かす
裏・高収入アルバイト情報局
開発現場のWindows/MS製品の小技・裏技
ランク王国
投資事業の始め方
株式投資入門・注目銘柄
子どもと生活の保険情報
勝手に映画と音楽評論
システム開発技術者の教訓・ノウハウ

TOPへ

Copyright (C) 開発現場のWindows/MS製品の小技・裏技 All Rights Reserved.
design by. (C) WebDaisuki.com
inserted by FC2 system