繁体   English   中英

从同一表中的 varchar(max) 列更新 varbinary(max) 列

[英]Update a varbinary(max) column from a varchar(max) column in same table

我有一个表volcards ,其中包含包括photo_text [ varchar(max) ] 和photo [ varbinary(max) ] 的列。

从用户那里收集数据和照片的应用程序是 Filemaker (Claris),然后使用 ODBC 填充 SQL 服务器字段。 但显然,虽然它不能填充 SQL 服务器表中的二进制字段,但它可以填充照片的 Base64 字段。 从该数据打印 ID 卡的专有应用程序需要具有二进制字段的 SQL 服务器表。 它不能使用 Filemaker 数据库。

我的目标是能够运行一个命令,该命令将根据 photo_text 列中的 Base64 内容更新二进制列“照片”。

我发现这个片段显示了我想要的结果,但我不知道如何将二进制结果写入 SQL 表“照片”字段。

SELECT 
    volcards.photo_text, 
    CAST(N'' AS xml).value('xs:base64Binary(sql:column("volcards.photo_text"))', 'varbinary(max)') AS photo
FROM 
    volcards

谢谢

我的经验.. 我的解决方案只是在 FM 上使用 import function。 显示 varbinary

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM