现在有以下SQL语句:
<stl:sqlContents connectionStringname="connectionStringname"> 
    <stl:queryString> 
    SELECT TOP 30 image, ('http://www.postcha.com/xiaohua/xiaohua_' + cast(id as varchar) + '.html') AS xiaohua_Url FROM au_xiaohua 
    ORDER BY newid()
    </stl:queryString> 
<ul id="rarclist" class="arclist">
<li><a href="{Sql.xiaohua_Url}" target="_blank"><img src="{sql.image}"></a></li>
</ul>
</stl:sqlContents> 
但是现在有一个问题,就是在image字段中存的是@/upload/2010/postcha.jpg这样的值,就是带有@这个字符。因为程序的默认调用图片是<stl:image>标签,可以将@转化为当前站点的域名,但是不支持随机显示。上面生成的代码是<a href="'http://www.postcha.com/xiaohua/xiaohua_1.html"><img src="@/upload/2010/postcha.jpg"></a>,这个@没有转换掉,导致图片不能显示。所以就想直接用sql语句来查询,但是现在又遇到这个@转换的问题,哪个SQL高手帮忙看看。

解决方案 »

  1.   

    SELECT TOP 30 image, REPLACE(('http://www.postcha.com/xiaohua/xiaohua_' + cast(id as varchar) + '.html'),'@','') AS xiaohua_Url FROM au_xiaohua 
        ORDER BY newid() 
      

  2.   

    declare @sql varchar(50)
    set @sql='@/upload/2010/postcha.jpg'
    select replace(@sql,'@','')
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    /upload/2010/postcha.jpg(1 行受影响)
      

  3.   

    先谢谢上面的回复。4楼的是文章地址,这个地址是正确,现在是要将图片字段里的@这个标记去掉。受4楼启发,用REPLACE(image,'@','')为什么反而取不到image的值了呢?
      

  4.   

    image是字段,值是@/upload/2010/postcha.jpg,在前台调用时需要将这个@去掉。