Kar*_*sla 3 sql sql-server sql-server-2008 sql-server-2012
我Image在MS-SQL SERVER 2012中有一个具有数据类型的列.我想在SQL查询中将其作为字符串获取..
我试过这个:
SELECT
'empphoto : '+ ISNULL(CONVERT(VARCHAR(MAX), CONVERT(VARBINARY(MAX), empphoto)),'')
from emppersonal where --some condition
--empphoto Columns is of Image datatype
Run Code Online (Sandbox Code Playgroud)
输出看起来已损坏(只有4个字符).
OutPut看起来像:
empphoto : ÿØÿà
Run Code Online (Sandbox Code Playgroud)

如何将Image数据类型转换为MS-SQL Server中的字符串?
您可以通过运行将图像值提取为BASE64 for xml path().
尝试:
select 'empphoto : '+(select empphoto as '*' for xml path(''))
Run Code Online (Sandbox Code Playgroud)
结果看起来像这样.
empphoto : /9j/4AAQSkZJRgABAQAAAQABAAD/wAARCADw
Run Code Online (Sandbox Code Playgroud)
换句话说,你必须删除前11个字符(empphoto :),强制转换为XML并将值提取为varbinary(max)..
select cast(stuff(YourTextColumn, 1, 11, '') as xml).value('.', 'varbinary(max)')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17670 次 |
| 最近记录: |