MSDE FunClub 現在までのアクセスカウント数 最終更新日 : 2000/06/12
Microsoft Data Engine FunClub
Since 2000.06.12
SQLServer7.0/MSDE 完全トレーニングテキスト(上巻)
【第1章77p 〜 78p掲載】

-- [SQL01_21.SQL]
--             SQLServer7.0  Transact-SQL言語
--             日本技術ソフト開発  堀川 明
--            http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、
--        バイナリデータの使い方を認識します
--

-- ( 件処理されました)のメッセージを抑止する
    SET NOCOUNT ON
GO

    DECLARE @B2  binary(2)      -- バイナリの作業用変数宣言
    DECLARE @I   int , @I2 int

    -- バイナリデータは、0X の16進数形式で代入する
    SELECT @B2=0X0102           -- 102H は 258 です
    SELECT @I = CONVERT(int,@B2)
    PRINT ''
    PRINT  "I="+ STR(@I)

    SELECT @I2 = 258
    IF NOT @B2 = 258 PRINT 'ERROR!'
    IF NOT @B2 = @I2 PRINT 'ERROR!'
GO


-- バイナリは、バイトコード文字列の単純な連結と考える
-- バイトデータを + で連結する
    DECLARE @B6  varbinary(6)
    DECLARE @V6  varbinary(6)

    -- + 記号を使っても使わなくても同じ
    SELECT @B6 = 0X01+0X02+0X03+0X04+0X05+0X06
    SELECT @V6 = 0X010203040506
    IF @B6 = @V6 PRINT 'OK!'

    -- 部分バイナリコード文字列の取得
    PRINT SUBSTRING(@B6,1,1)
    PRINT SUBSTRING(@B6,2,1)
    PRINT SUBSTRING(@B6,3,1)
    PRINT SUBSTRING(@B6,4,1)
    PRINT SUBSTRING(@B6,5,1)
    PRINT SUBSTRING(@B6,6,1)

    PRINT SUBSTRING(@B6,1,2)
    PRINT SUBSTRING(@B6,3,2)

    PRINT SUBSTRING(@B6,1,6)
    PRINT ''
GO

-- バイナリデータの部分変更処理
    DECLARE @B8  binary(8)
    SELECT  @B8 = 0X01+0X02+0X03+0X04+0X05+0X06+0X07+0X08
    PRINT @B8
    SELECT  @B8 = CONVERT(binary(8),STUFF(@B8,3,3,0XAA+0XBB+0XCC))
    PRINT @B8
GO







技術評論社の書籍ガイドへ
上巻:ISBN4-7741-0965-7

ウィンドウを閉じる


(株)日本技術ソフト開発 責任編集:堀川 明
MSDE FunClubに関するご意見・ご要望等ございましたら、 msdefun@horikawa.ne.jp までご連絡下さい。
HOME: http://www.horikawa.ne.jp/msde/


MSDE FunClubの運営は、マイクロソフト社とは一切の関係はありません