データベースに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
しかし、運がありません。構文エラーが発生しました。