一字符串保存到了image类型的字段里,我想在查询分析器看到这个字符串内容(不是乱码),怎么实现呢?ms-server有相关的函数吗?或者我能用C++写个功能函数供查询分析器调用吗?

解决方案 »

  1.   

    ----------------------------------------------------------------
    -- Author  :fredrickhu(小F,向高手学习)
    -- Date    :2011-09-07 15:10:31
    -- Verstion:
    --      Microsoft SQL Server 2008 R2 (RTM) - 10.50.1617.0 (Intel X86) 
    -- Apr 22 2011 11:57:00 
    -- Copyright (c) Microsoft Corporation
    -- Enterprise Evaluation Edition on Windows NT 6.1 <X64> (Build 7600: ) (WOW64)
    --
    ----------------------------------------------------------------
    --> 测试数据:[tb]
    if object_id('[tb]') is not null drop table [tb]
    go 
    create table [tb]([col] image)
    insert [tb]
    select 'aa'
    --------------开始查询--------------------------select cast(CAST (col as varbinary) as varchar(10)) from [tb]
    ----------------结果----------------------------
    /* ----------
    aa(1 行受影响)*/
      

  2.   

    选转换成varbinary 再转换成varchar
      

  3.   

    create table tb(col image)
    insert into tb select 'abcd张三dwrd'
    go
    select convert(varchar,convert(varbinary,col)) from tb
    /*
    ------------------------------
    abcd张三dwrd(1 行受影响)*/
    go
    drop table tb
      

  4.   

    不要转换为 nvarchar 型的.或者再进行一次转换.
      

  5.   


    还是有乱码。
    附上image字段的数据:0x3C68746D6C3E3C626F64793EE68993E58F91E5A3ABE5A4A7E5A4AB3C2F626F64793E3C2F68746D6C3E
      

  6.   

    image存放的是二进制的数据(一般是图像,声音,文件等),你看不了.除非是把这些内容转换出去再看.
    参考:
    图像文件的读取
    http://blog.csdn.net/htl258/archive/2010/04/15/5486178.aspx