データベースにvarbinary列があります。これには、16 進数のデータの長い範囲のデータが含まれています。
substringデータを選択して表示するために使用します。
SELECT TOP 100
    CHAR_KEY AS charid,
    USER_KEY AS userid,
    CONVERT(VARCHAR,substring(char_data, 9, 16)) AS name,
    CONVERT(INT,cast(reverse(substring(char_data, 7, 2)) as BINARY(2))) AS level,
    CONVERT(INT,substring(char_data, 25, 1)) AS type,
    CONVERT(INT, substring(char_data, 261, 1)) AS permission,
    guild_data.guild_name
FROM CHAR_DATA0
    inner join guild_data 
    on guild_key = 
        CONVERT(INT, 
                cast(reverse(substring(char_data, 33, 4)) as BINARY(4)))
WHERE CONVERT(INT, substring(char_data, 261, 1))=0x00 
ORDER BY level DESC
今、私はしたいのですがUPDATE、何かアイデアはありますか? どうもありがとう。私はこれが初めてです。アップデートを探してみましたsubstringが、ネット上で実際に動作する例は見つかりませんでした。
ありがとう。
- - -編集 - - -
私はこれを試しました:
UPDATE
CHAR_TDATA0
SET char_data = stuff(cast(char_data as BINARY(2000)), 9, 16, CONVERT(BINARY(16), 'testnamezs'))
WHERE CHAR_KEY=4
しかし、運がありません。構文エラーが発生しました。