<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Как в SELECT сделать order по varchar но ....</title>
    <link>https://opennet.me/openforum/vsluhforumID8/6161.html</link>
    <description>Приветствую. Подскажите пожалуйста, самому решение найти не удалось.&lt;br&gt;&lt;br&gt;Есть таблица, в которой хранятся данные об автомобилях. Номер авто записан в varchar(10) примерно так: &quot;x111xx177&quot;.&lt;br&gt;&lt;br&gt;Задача выводить список машин с сортировкой по номеру НО учитывать нужно ТОЛЬКО цифры.&lt;br&gt;&lt;br&gt;Посмотрел справочники по функциям, но что-то ничего завести не удалось. Надеюсь есть светлые головы, способные решить задачу :)&lt;br&gt;</description>

<item>
    <title>Как в SELECT сделать order по varchar но .... (angra)</title>
    <link>https://opennet.me/openforum/vsluhforumID8/6161.html#5</link>
    <pubDate>Thu, 15 Jan 2009 23:43:50 GMT</pubDate>
    <description>С точки зрения разобраться код полезный, изучайте. С точки зрения практического применения данный способ неприемлим ибо производительность будет убита насмерть. Подумайте о создании дополнительного поля, в котором будут обрезанные до чистых цифр номера. &lt;br&gt;</description>
</item>

<item>
    <title>Как в SELECT сделать order по varchar но .... (MiF)</title>
    <link>https://opennet.me/openforum/vsluhforumID8/6161.html#4</link>
    <pubDate>Thu, 15 Jan 2009 08:59:32 GMT</pubDate>
    <description>шайтан! :) Спасибо, буду разбираться вечером.&lt;br&gt;</description>
</item>

<item>
    <title>Как в SELECT сделать order по varchar но .... (other)</title>
    <link>https://opennet.me/openforum/vsluhforumID8/6161.html#3</link>
    <pubDate>Thu, 15 Jan 2009 08:15:12 GMT</pubDate>
    <description>mysql&amp;gt; CREATE TABLE auto (&lt;br&gt;    -&amp;gt;   num VARCHAR(10) DEFAULT NULL&lt;br&gt;    -&amp;gt; )ENGINE=MyISAM;&lt;br&gt;&lt;br&gt;Query OK, 0 rows affected (0.02 sec)&lt;br&gt;&lt;br&gt;mysql&amp;gt; &lt;br&gt;mysql&amp;gt; insert into auto values(&apos;x111xx177&apos;);&lt;br&gt;Query OK, 1 row affected (0.00 sec)&lt;br&gt;&lt;br&gt;mysql&amp;gt; insert into auto values(&apos;aj45hn67nn&apos;);&lt;br&gt;Query OK, 1 row affected (0.00 sec)&lt;br&gt;&lt;br&gt;mysql&amp;gt; insert into auto values(&apos;sfde45njh5&apos;);&lt;br&gt;Query OK, 1 row affected (0.00 sec)&lt;br&gt;&lt;br&gt;mysql&amp;gt; insert into auto values(&apos;5fv67yy78u&apos;);&lt;br&gt;Query OK, 1 row affected (0.00 sec)&lt;br&gt;&lt;br&gt;mysql&amp;gt; insert into auto values(&apos;aaas23dsdd&apos;);&lt;br&gt;Query OK, 1 row affected (0.00 sec)&lt;br&gt;&lt;br&gt;mysql&amp;gt; &lt;br&gt;mysql&amp;gt; delimiter //&lt;br&gt;mysql&amp;gt; CREATE DEFINER = CURRENT_USER FUNCTION &#096;digital&#096;(param1 varchar(10))&lt;br&gt;    -&amp;gt;     RETURNS varchar(10)&lt;br&gt;    -&amp;gt;     NOT DETERMINISTIC&lt;br&gt;    -&amp;gt;     CONTAINS SQL&lt;br&gt;    -&amp;gt;     SQL SECURITY DEFINER&lt;br&gt;    -&amp;gt;     COMMENT &apos;&apos;&lt;br&gt;    -&amp;gt; begin&lt;br&gt;    -&amp;gt; declare a int default 1;&lt;br&gt;    -&amp;gt;     declare b int default 0;&lt;br&gt;    -&amp;gt;     declare c int default 0;&lt;br&gt;    -&amp;gt;     declare d varchar(10) default &apos;&apos;;&lt;br&gt;    -&amp;gt;     set b = length(param1);&lt;br&gt;</description>
</item>

<item>
    <title>Как в SELECT сделать order по varchar но .... (MiF)</title>
    <link>https://opennet.me/openforum/vsluhforumID8/6161.html#2</link>
    <pubDate>Wed, 14 Jan 2009 20:37:25 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;Есть таблица, в которой хранятся данные об автомобилях. Номер авто записан в &lt;br&gt;&amp;gt;&amp;gt;varchar(10) примерно так: &quot;x111xx177&quot;. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Задача выводить список машин с сортировкой по номеру НО учитывать нужно ТОЛЬКО &lt;br&gt;&amp;gt;&amp;gt;цифры. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Посмотрел справочники по функциям, но что-то ничего завести не удалось. Надеюсь есть &lt;br&gt;&amp;gt;&amp;gt;светлые головы, способные решить задачу :) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;SELECT CONCAT(SUBSTRING(auto_nomer,2,3),SUBSTRING(auto_nomer,7,3)) as digital_nomer ORDER BY digital_nomer &lt;br&gt;&lt;br&gt;Спасибо, понятно куда копать. Но извиняюсь, не указал, что номер не имеет формат строгий, не все данные могут быть. например без региона, или без первой буквы. Можно как-то сформировать запрос обрабатывающий только цифры вообще, независимо от формата строки? TRIM вроде похож, но как ему указать, что оставить только 0-9?&lt;br&gt;</description>
</item>

<item>
    <title>Как в SELECT сделать order по varchar но .... (Andrew4fr)</title>
    <link>https://opennet.me/openforum/vsluhforumID8/6161.html#1</link>
    <pubDate>Wed, 14 Jan 2009 20:09:05 GMT</pubDate>
    <description>&amp;gt;Приветствую. Подскажите пожалуйста, самому решение найти не удалось. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Есть таблица, в которой хранятся данные об автомобилях. Номер авто записан в &lt;br&gt;&amp;gt;varchar(10) примерно так: &quot;x111xx177&quot;. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Задача выводить список машин с сортировкой по номеру НО учитывать нужно ТОЛЬКО &lt;br&gt;&amp;gt;цифры. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Посмотрел справочники по функциям, но что-то ничего завести не удалось. Надеюсь есть &lt;br&gt;&amp;gt;светлые головы, способные решить задачу :) &lt;br&gt;&lt;br&gt;SELECT CONCAT(SUBSTRING(auto_nomer,2,3),SUBSTRING(auto_nomer,7,3)) as digital_nomer ORDER BY digital_nomer&lt;br&gt;</description>
</item>

</channel>
</rss>
