<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sybase数据库技术，数据库恢复专家 &#187; list</title>
	<atom:link href="http://www.dbainfo.net/tag/list/feed" rel="self" type="application/rss+xml" />
	<link>https://www.dbainfo.net</link>
	<description>提供Sybase ASE及Sybase SQL Anywhere数据库修复服务，电话：13811580958(微信)，QQ：289965371！We have many years of experience in recovering data from damanged Sybase devices. Contact us by Phone: +86 13811580958 Wechat: 13811580958 Email: 289965371@qq.com</description>
	<lastBuildDate>Sat, 14 Jun 2025 16:28:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>IQ中得到字符串的十六进制形式</title>
		<link>https://www.dbainfo.net/iq-transfer-strings-to-hex.htm</link>
		<comments>https://www.dbainfo.net/iq-transfer-strings-to-hex.htm#comments</comments>
		<pubDate>Thu, 07 Jun 2012 14:38:26 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase IQ]]></category>
		<category><![CDATA[create function]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[inttohex]]></category>
		<category><![CDATA[IQ]]></category>
		<category><![CDATA[list]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=1916</guid>
		<description><![CDATA[Sybase IQ和ASE中都有函数ascii，返回字符串表达式中第一个字节的整数 ASCII 值！ 那么， 如何获得字符串的十六进制形式呢？ 比如：以GBK编码的三个汉字&#8220;数据库&#8221;的十六进制形式为：0xcafdbeddbfe2 可以验证一下： select char(hextoint(&#39;ca&#39;)) + char(hextoint(&#39;fd&#39;)) , char(hextoint(&#39;be&#39;)) + char(hextoint(&#39;dd&#39;)),char(hextoint(&#39;bf&#39;)) + char(hextoint(&#39;e2&#39;)) 本文提供两种方法，主要涉及到的函数有： substring,ascii,inttohex,right,list,string以及sa_rowgenerator系统过程。 第一种方法： 编写成自定义函数的形式 create function Hex(@str varchar(8192)) returns varchar(8192) --返回字符的十六进制形式 as begin &#160; declare @len int,@i int,@strhex varchar(16384) &#160; select @i=1,@len=len(@str),@strhex=&#39;&#39; &#160; while( @i&#60;=@len ) &#160; begin &#160;&#160;&#160; select @strhex=@strhex + right( inttohex( ascii( substring(@str,@i,1) ) [...]]]></description>
			<content:encoded><![CDATA[<p>Sybase IQ和ASE中都有函数ascii，返回字符串表达式中第一个字节的整数 ASCII 值！</p>
<p>那么， 如何获得字符串的十六进制形式呢？</p>
<p>比如：以GBK编码的三个汉字&ldquo;数据库&rdquo;的十六进制形式为：0xcafdbeddbfe2</p>
<p>可以验证一下： select char(hextoint(&#39;ca&#39;)) + char(hextoint(&#39;fd&#39;)) , char(hextoint(&#39;be&#39;)) + char(hextoint(&#39;dd&#39;)),char(hextoint(&#39;bf&#39;)) + char(hextoint(&#39;e2&#39;))</p>
<p>本文提供两种方法，主要涉及到的函数有： substring,ascii,inttohex,right,list,string以及sa_rowgenerator系统过程。<span id="more-1916"></span></p>
<p>第一种方法：</p>
<p>编写成自定义函数的形式</p>
<p>create function Hex(@str varchar(8192))<br />
	returns varchar(8192)<br />
	--返回字符的十六进制形式<br />
	as<br />
	begin<br />
	&nbsp; declare @len int,@i int,@strhex varchar(16384)<br />
	&nbsp; select @i=1,@len=len(@str),@strhex=&#39;&#39;<br />
	&nbsp; while( @i&lt;=@len )<br />
	&nbsp; begin<br />
	&nbsp;&nbsp;&nbsp; select @strhex=@strhex + right( inttohex( ascii( substring(@str,@i,1) ) ), 2 )<br />
	&nbsp;&nbsp;&nbsp; select @i=@i+1<br />
	&nbsp; end<br />
	&nbsp; select @strhex=&#39;0x&#39;+@strhex<br />
	&nbsp; return @strhex<br />
	end<br />
	go</p>
<p>第二种方法：</p>
<p>使用一条SQL语句就能够实现。主要依赖于sa_rowgenerator系统过程以及list函数。</p>
<p>sa_rowgenerator 返回包含指定起始值和结束值之间的行的结果集。<br />
	语法:sa_rowgenerator ( [ rstart [, rend [, rstep ] ] ])</p>
<blockquote>
<p>1&gt; select <span style="color:#f00;"><strong>row_num</strong></span> from <span style="color:#f00;"><strong>sa_rowgenerator</strong></span>(1,10,2)<br />
		2&gt; go<br />
		&nbsp;row_num&nbsp;&nbsp;&nbsp;&nbsp; <br />
		&nbsp;----------- <br />
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 <br />
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 <br />
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5 <br />
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7 <br />
		&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9 </p>
<p>		(5 rows affected)</p>
<p>--得到系统表SYSTABLE的所有列名的列表，用逗号分隔。</p>
<p>1&gt; select <span style="font-size:14px;"><span style="color: rgb(255, 0, 0);"><strong>list</strong></span></span>(column_name,&#39;,&#39;) as column_list&nbsp; from syscolumn where table_id=1<br />
		2&gt; go<br />
		&nbsp;column_list&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
		&nbsp;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- <br />
		&nbsp;table_id,file_id,count,first_page,last_page,primary_root,creator,first_ext_page,last_ext_page,table_page_count,ext_page_count,table_name,table_type,view_def,remarks,replicate,existing_obj,remote_location,remote_objtype,srvid,server_type,primary_hash_limit,page_map_start,source&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>		(1 row affected)</p>
</blockquote>
<p>下面的SQL直接返回&ldquo;数据库&rdquo;三个汉字的十六进制形式：</p>
<p><span style="color:#f00;"><span style="font-size: 14px;">select string(&#39;0x&#39;, list( right(inttohex(ascii(substring(&#39;数据库&#39;,row_num,1))),2) , &#39;&#39; ) ) from sa_rowgenerator(1,len(&#39;数据库&#39;))<br />
	</span></span></p>
<p>将&ldquo;数据库&rdquo;两次出现的位置替换成其它字符串，就能得到指定字符串的十六进制形式。</p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/iq-transfer-strings-to-hex.htm">https://www.dbainfo.net/iq-transfer-strings-to-hex.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/iq-transfer-strings-to-hex.htm">IQ中得到字符串的十六进制形式</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2014-08-23 -- <a href="https://www.dbainfo.net/online-compress-iq-dumpfile-by-pipefile.htm" title="一种使用管道文件在线压缩IQ备份文件的方法">一种使用管道文件在线压缩IQ备份文件的方法</a> (0)</li><li>2012-03-07 -- <a href="https://www.dbainfo.net/sybase-ase12-5-4-client-tool-sybase-central-without-installation-version.htm" title="免安装（绿色版）的ASE客户端工具Sybase Centralv4.3">免安装（绿色版）的ASE客户端工具Sybase Centralv4.3</a> (12)</li><li>2011-09-20 -- <a href="https://www.dbainfo.net/sybase-iq-15-2-30-day-evaluation-edition.htm" title="Sybase IQ 15.2免费试用30天的体验版下载地址">Sybase IQ 15.2免费试用30天的体验版下载地址</a> (0)</li><li>2011-02-25 -- <a href="https://www.dbainfo.net/sybase-iq-dbms-gartner-report.htm" title="SYBASE 在2011年数据仓库DBMS魔力象限中位于“领导者”">SYBASE 在2011年数据仓库DBMS魔力象限中位于“领导者”</a> (0)</li><li>2010-11-09 -- <a href="https://www.dbainfo.net/sybase-ase-current-date-last_day.htm" title="Sybase ASE v15.x中查询本月最后一天的日期的3种实现方法">Sybase ASE v15.x中查询本月最后一天的日期的3种实现方法</a> (0)</li><li>2010-10-31 -- <a href="https://www.dbainfo.net/ase-grant-create-function-privilege-to-user.htm" title="ASE中给用户授予创建函数的权限">ASE中给用户授予创建函数的权限</a> (0)</li><li>2010-10-19 -- <a href="https://www.dbainfo.net/windows-dos-command-for-loop-control-advance.htm" title="[转]CMD命令行:for命令详解">[转]CMD命令行:for命令详解</a> (0)</li><li>2010-10-18 -- <a href="https://www.dbainfo.net/sybase-ase15-0-3-sql-function-convert_datetime-format.htm" title="Sybase ASE15.0.3中用SQL Function来调整日期显示格式">Sybase ASE15.0.3中用SQL Function来调整日期显示格式</a> (0)</li><li>2010-09-08 -- <a href="https://www.dbainfo.net/sybase-iq12_5-installation-guide.htm" title="SYBASE IQ12.5安装指南">SYBASE IQ12.5安装指南</a> (0)</li><li>2010-06-01 -- <a href="https://www.dbainfo.net/sybase-iq15-1-license-out-of-time-grace-period.htm" title="关于Sybase IQ15.1试用版到期后继续试用的问题解决">关于Sybase IQ15.1试用版到期后继续试用的问题解决</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/iq-transfer-strings-to-hex.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
