doc-exports/docs/dws/dev/dws_06_0031.html
Lu, Huayi e6fa411af0 DWS DEV 830.201 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-16 07:24:04 +00:00

185 lines
19 KiB
HTML

<a name="EN-US_TOPIC_0000001188589006"></a><a name="EN-US_TOPIC_0000001188589006"></a>
<h1 class="topictitle1">Binary String Functions and Operators</h1>
<div id="body8662426"><p id="EN-US_TOPIC_0000001188589006__p36210549548">There are some binary string functions defined in SQL, which use keywords instead of commas to separate arguments. GaussDB(DWS) also provides the common syntax used for invoking functions.</p>
<div class="section" id="EN-US_TOPIC_0000001188589006__section20982111913485"><h4 class="sectiontitle">octet_length(string)</h4><p id="EN-US_TOPIC_0000001188589006__p597731910482">Description: Number of bytes in binary string</p>
<p id="EN-US_TOPIC_0000001188589006__p17627183517501">Return type: integer</p>
<p id="EN-US_TOPIC_0000001188589006__p119766198487">Examples:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen1697741944811"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">octet_length</span><span class="p">(</span><span class="n">E</span><span class="s1">'jo\\000se'</span><span class="p">::</span><span class="n">bytea</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span>
<span class="c1">--------</span>
<span class="w"> </span><span class="mi">5</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188589006__section946816201522"><h4 class="sectiontitle">overlay(string placing string from int [for int])</h4><p id="EN-US_TOPIC_0000001188589006__p114651820115215">Description: Replaces substring.</p>
<p id="EN-US_TOPIC_0000001188589006__p246552016523">Return type: bytea</p>
<p id="EN-US_TOPIC_0000001188589006__p11330028145219">Examples:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen7466720195212"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">overlay</span><span class="p">(</span><span class="n">E</span><span class="s1">'Th\\000omas'</span><span class="p">::</span><span class="n">bytea</span><span class="w"> </span><span class="k">placing</span><span class="w"> </span><span class="n">E</span><span class="s1">'\\002\\003'</span><span class="p">::</span><span class="n">bytea</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">----------------</span>
<span class="w"> </span><span class="err">\</span><span class="n">x5402036d6173</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188589006__section167011549105216"><h4 class="sectiontitle">position(substring in string)</h4><p id="EN-US_TOPIC_0000001188589006__p1769819493525">Description: Location of specified substring</p>
<p id="EN-US_TOPIC_0000001188589006__p1485011199199">Return type: integer</p>
<p id="EN-US_TOPIC_0000001188589006__p0145185515212">Examples:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen26991749155213"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">position</span><span class="p">(</span><span class="n">E</span><span class="s1">'\\000om'</span><span class="p">::</span><span class="n">bytea</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">E</span><span class="s1">'Th\\000omas'</span><span class="p">::</span><span class="n">bytea</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span>
<span class="c1">--------</span>
<span class="w"> </span><span class="mi">3</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188589006__section16259131115536"><h4 class="sectiontitle">substring(string [from int] [for int])</h4><p id="EN-US_TOPIC_0000001188589006__p2938116175319">Description: Truncates substring.</p>
<p id="EN-US_TOPIC_0000001188589006__p189384169531">Return type: bytea</p>
<p id="EN-US_TOPIC_0000001188589006__p1893812162530">Examples:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen1225831116537"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">substring</span><span class="p">(</span><span class="n">E</span><span class="s1">'Th\\000omas'</span><span class="p">::</span><span class="n">bytea</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">----------</span>
<span class="w"> </span><span class="err">\</span><span class="n">x68006f</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001188589006__p525861175316">Truncate the time and obtain the number of hours.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen18259191185318"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">select</span><span class="w"> </span><span class="k">substring</span><span class="p">(</span><span class="s1">'2022-07-18 24:38:15'</span><span class="p">,</span><span class="mi">12</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span>
<span class="c1">-----------</span>
<span class="w"> </span><span class="mi">24</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188589006__section2678191825415"><h4 class="sectiontitle">trim([both] bytes from string)</h4><p id="EN-US_TOPIC_0000001188589006__p567718189542">Description: Removes the longest string containing only bytes from <strong id="EN-US_TOPIC_0000001188589006__b8423527069119">bytes</strong> from the start and end of <strong id="EN-US_TOPIC_0000001188589006__b84235270691116">string</strong>.</p>
<p id="EN-US_TOPIC_0000001188589006__p14678718175420">Return type: bytea</p>
<p id="EN-US_TOPIC_0000001188589006__p17111824175418">Examples:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen1167821805416"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">trim</span><span class="p">(</span><span class="n">E</span><span class="s1">'\\000'</span><span class="p">::</span><span class="n">bytea</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">E</span><span class="s1">'\\000Tom\\000'</span><span class="p">::</span><span class="n">bytea</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">----------</span>
<span class="w"> </span><span class="err">\</span><span class="n">x546f6d</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188589006__section989233405711"><h4 class="sectiontitle">btrim(string bytea,bytes bytea)</h4><p id="EN-US_TOPIC_0000001188589006__p588973475712">Description: Removes the longest string containing only bytes from <strong id="EN-US_TOPIC_0000001188589006__b2136860899">bytes</strong> from the start and end of <strong id="EN-US_TOPIC_0000001188589006__b1303589995">string</strong>.</p>
<p id="EN-US_TOPIC_0000001188589006__p188891034125719">Return type: bytea</p>
<p id="EN-US_TOPIC_0000001188589006__p17889163425720">Examples:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen178901347574"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">btrim</span><span class="p">(</span><span class="n">E</span><span class="s1">'\\000trim\\000'</span><span class="p">::</span><span class="n">bytea</span><span class="p">,</span><span class="w"> </span><span class="n">E</span><span class="s1">'\\000'</span><span class="p">::</span><span class="n">bytea</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">------------</span>
<span class="w"> </span><span class="err">\</span><span class="n">x7472696d</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188589006__section18577721195813"><h4 class="sectiontitle">get_bit(string, offset)</h4><p id="EN-US_TOPIC_0000001188589006__p13574192145816">Description: Extracts bit from string.</p>
<p id="EN-US_TOPIC_0000001188589006__p7574621165817">Return type: integer</p>
<p id="EN-US_TOPIC_0000001188589006__p13574192145810">Examples:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen7575162110586"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">get_bit</span><span class="p">(</span><span class="n">E</span><span class="s1">'Th\\000omas'</span><span class="p">::</span><span class="n">bytea</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">result</span>
<span class="c1">--------</span>
<span class="w"> </span><span class="mi">1</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188589006__section138401440185810"><h4 class="sectiontitle">get_byte(string, offset)</h4><p id="EN-US_TOPIC_0000001188589006__p883884020581">Description: Extracts byte from string.</p>
<p id="EN-US_TOPIC_0000001188589006__p283864018585">Return type: integer</p>
<p id="EN-US_TOPIC_0000001188589006__p383824017584">Examples:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen7429154765817"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">get_byte</span><span class="p">(</span><span class="n">E</span><span class="s1">'Th\\000omas'</span><span class="p">::</span><span class="n">bytea</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">result</span>
<span class="c1">--------</span>
<span class="w"> </span><span class="mi">109</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188589006__section993819905912"><h4 class="sectiontitle">set_bit(string,offset, newvalue)</h4><p id="EN-US_TOPIC_0000001188589006__p19936199165916">Description: Sets bit in string.</p>
<p id="EN-US_TOPIC_0000001188589006__p393619915595">Return type: bytea</p>
<p id="EN-US_TOPIC_0000001188589006__p159361192594">Examples:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen1493719917594"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">set_bit</span><span class="p">(</span><span class="n">E</span><span class="s1">'Th\\000omas'</span><span class="p">::</span><span class="n">bytea</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">------------------</span>
<span class="w"> </span><span class="err">\</span><span class="n">x5468006f6d4173</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001188589006__section7542941502"><h4 class="sectiontitle">set_byte(string,offset, newvalue)</h4><p id="EN-US_TOPIC_0000001188589006__p17541346017">Description: Sets byte in string.</p>
<p id="EN-US_TOPIC_0000001188589006__p6541147014">Return type: bytea</p>
<p id="EN-US_TOPIC_0000001188589006__p1454117416017">Examples:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188589006__screen1654116413011"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">set_byte</span><span class="p">(</span><span class="n">E</span><span class="s1">'Th\\000omas'</span><span class="p">::</span><span class="n">bytea</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">64</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">------------------</span>
<span class="w"> </span><span class="err">\</span><span class="n">x5468006f406173</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0027.html">Functions and Operators</a></div>
</div>
</div>