27920


ファイルを使わず、純粋にSQL文だけでバイナリデータ（blob）をINSERTしたいです。  
Oracleでは[この記事](http://www.shift-the-oracle.com/plsql/lob/blob-read-
write.html)にあるように16進数表現で実現できるようです。

[code]

    INSERT INTO BLOB_MEDIA (CONTENT_ID, MEDIA)
       VALUES ( 1, HEXTORAW('3E00210102CDA000C9') )
    
[/code]

PostgreSQLとSQLServerではどのようにすれば良いでしょうか？


CC BY-SA 3.0
2016-07-26T12:09:57.050
27863
2016-08-15T02:09:45.263
2016-08-15T02:09:04.073
8078
8078
question
sql postgresql sql-server
SQL文だけでバイナリ（blob）をINSERTしたい


SQL Serverでは`binary`値を`0xABCDEF0123456789`のように引用符なしの`0x`付き16進数で記述することが出来ます。


CC BY-SA 3.0
2016-07-28T12:47:51.250
27920
2016-07-28T12:47:51.250
5750
27863
answer


PostgreSQLは自己解決できました。  
`decode`を使うと、16進数文字列をバイナリデータに変換できるようです。

[code]

    insert into BLOB_TABLE ID, BIN_DATA) values ('id1', decode('ABCDEF0123456789', 'hex'));
    
[/code]


CC BY-SA 3.0
2016-08-08T04:36:40.623
28118
2016-08-15T02:09:45.263
2016-08-15T02:09:45.263
8078
8078
27863
answer