<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>SQL-Ex blog - T-SQL</title>
    <link>https://sql-ex.ru/blogs/</link>
    <description>Новости сайта &quot;Упражнения SQL&quot;, статьи и переводы</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 2.3.5 - http://www.s9y.org/</generator>
    <pubDate>Sun, 16 Aug 2026 15:30:00 GMT</pubDate>

    <image>
    <url>https://sql-ex.ru/images/logo.jpg</url>
    <title>RSS: SQL-Ex blog - T-SQL - Новости сайта &quot;Упражнения SQL&quot;, статьи и переводы</title>
    <link>https://sql-ex.ru/blogs/</link>
    <width></width>
    <height></height>
</image>

<item>
    <title>Как узнать последнее значение, используемое последовательностью в SQL Server</title>
    <link>https://sql-ex.ru/blogs/?/,-SQL-Server.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/,-SQL-Server.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3501</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3501</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.red-gate.com/simple-talk/databases/sql-server/how-to-determine-the-last-value-used-by-a-sequence-in-sql-server/&quot;&gt;Greg Low. How to determine the last value used by a sequence in SQL Server&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Я являюсь фанатом последовательностей с тех пор, когда они появились в SQL Server 2012. До этого у разработчиков был выбор между столбцами IDENTITY и создания собственного механизма для таблиц.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Что такое последовательности в SQL Server?&lt;/h2&gt;&lt;br /&gt;
Последовательности позволяют создавать привязанный к схеме объект, который не связан ни с какой конкретной таблицей.&lt;br /&gt;
&lt;br /&gt;
Например, если у меня есть таблицы Sales.FlightBookings и Sales.VehicleBookings, и я хочу иметь общий BookingID, используемый как ключ для каждой таблицы. Если бы речь шла не только о BookingID, вы могли бы возразить, что существует проблема с нормализацией таблиц, но мы оставим это обсуждение на будущее. &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/,-SQL-Server.html#extended&quot;&gt;Continue reading &quot;Как узнать последнее значение, используемое последовательностью в SQL Server&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 16 Aug 2026 18:30:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3501.html</guid>
    
</item>
<item>
    <title>IDENTITY или SEQUENCE в SQL Server – что использовать?</title>
    <link>https://sql-ex.ru/blogs/?/IDENTITY-SEQUENCE-SQL-Server.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/IDENTITY-SEQUENCE-SQL-Server.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3482</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3482</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.red-gate.com/simple-talk/databases/sql-server/identity-vs-sequence-in-sql-server-which-should-you-use/&quot;&gt;Greg Low. IDENTITY vs SEQUENCE in SQL Server – which should you use?&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Автоматически генерируемые числовые ключи имеются повсюду в реляционных базах данных. В SQL Server доминируют две возможности этого:&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;&lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://sql-ex.ru/blogs/?/Rabota_so_stolbcami_identity_v_SQL_Server.html&quot;&gt;столбцы IDENTITY&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://sql-ex.ru/blogs/?/ModernizaciJa_vashego_koda_T-SQL_obekt_Sequence.html&quot;&gt;объекты SEQUENCE&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Обе генерируют числа. Обе быстры. Обе широко используются. Хотя в настоящее время столбцы IDENTITY являются, безусловно, наиболее распространенными - однако при  работе с клиентами мы склонны использовать почти исключительно объекты SEQUENCE. Все, что я могу сделать со столбцом IDENTITY, я могу так же сделать с объектом SEQUENCE, но мы считаем его более гибким.&lt;br /&gt;
&lt;br /&gt;
Вот простой пример. Если вы когда либо пытались выполнить SET IDENTITY_INSERT ON по &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://sql-ex.ru/blogs/?/Ponimanie_svJazannyh_serverov_v_SQL_Server.html&quot;&gt;связанным серверам&lt;/a&gt;, то знаете, что это не работает. С SEQUENCE мне никогда не понадобится выполнять такую операцию.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/IDENTITY-SEQUENCE-SQL-Server.html#extended&quot;&gt;Continue reading &quot;IDENTITY или SEQUENCE в SQL Server – что использовать?&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 02 Aug 2026 09:45:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3482.html</guid>
    
</item>
<item>
    <title>Проблемы параллелизма SQL Server с планами одновременно выполняющихся запросов</title>
    <link>https://sql-ex.ru/blogs/?/SQL-Server.html</link>
            <category>Optimization</category>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/SQL-Server.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3479</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3479</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.mssqltips.com/sqlservertip/11619/sql-server-concurrency-issues-with-parallel-query-plans/&quot;&gt;Mehdi Ghapanvari. SQL Server Concurrency Issues with Parallel Query Plans&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Параллелизм может уменьшить способность одновременного выполнения запросов. Это веская причина не позволять SQL Server агрессивно выполнять запросы в параллельном режиме. В этом совете я создам демонстрацию, чтобы показать, что параллелизм снижает производительность запросов на сервере с высоким уровнем конкуренции.&lt;br /&gt;
&lt;br /&gt;
Параллелизм позволяет SQL Server выполнять запросы на нескольких ядрах ЦП одновременно. Оптимизатор запросов определяет, стоит ли выполнять запрос параллельно или нет на основании стоимости. Если запрос сложный, содержит дорогие операции (такие как сортировка, группировка и т.п.) и обрабатывает много строк, то это с большей вероятностью  приведет к параллельному плану, чем простой запрос, который обрабатывает несколько строк.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/SQL-Server.html#extended&quot;&gt;Continue reading &quot;Проблемы параллелизма SQL Server с планами одновременно выполняющихся запросов&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 29 Jul 2026 09:51:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3479.html</guid>
    
</item>
<item>
    <title>Ответы на вопросы относительно удаленных столбцов</title>
    <link>https://sql-ex.ru/blogs/?/unknown.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/unknown.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3478</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3478</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.sqlservercentral.com/articles/answering-questions-on-dropped-columns&quot;&gt;Cláudio Silva. Answering Questions On Dropped Columns&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
В этой статье я отвечу на пару вопросов из предыдущих публикаций об удалении столбцов.&lt;br /&gt;
&lt;br /&gt;
Если вы не читали предыдущих постов по этой теме, вот их список:&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;&lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://sql-ex.ru/blogs/?/Chto_proishodit_pri_udalenii_stolbca_v_tablice_SQL_Server_Gde_moe_prostranstvo.html&quot;&gt;Что происходит при удалении столбца в таблице SQL Server? Где мое пространство?&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://claudioessilva.eu/2024/07/09/Identify-Tables-With-Dropped-Columns/&quot;&gt;Определить таблицы с удаленными столбцами&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;&lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://claudioessilva.eu/2024/08/05/How-much-space-can-I-expect-to-recover-from-a-rebuild-after-dropping-a-column/&quot;&gt;Сколько места могу я ожидать получить в результате перестройки после удаления столбца?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;h2&gt;Комментарии&lt;/h2&gt;&lt;br /&gt;
В &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://www.sqlservercentral.com/forums/topic/what-happens-when-we-drop-a-column-on-a-sql-server-table-wheres-my-space&quot;&gt;разделе комментариев&lt;/a&gt; к первой статье читатель спрашивает:&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Можно ли считать, что будущие вставки (после удаления столбца) не будут занимать пространство удаленного столбца?&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
и еще&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;Если страница перезаписывается (например, в результате обычной вставки или обновления), используется ли тогда повторно пространство, занимаемое удаленным столбцом?&lt;/em&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/unknown.html#extended&quot;&gt;Continue reading &quot;Ответы на вопросы относительно удаленных столбцов&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 27 Jul 2026 15:20:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3478.html</guid>
    
</item>
<item>
    <title>Оптимизация заданий загрузки данных в SQL Server: стратегии реализации в рабочей среде</title>
    <link>https://sql-ex.ru/blogs/?/SQL-Server.html</link>
            <category>Optimization</category>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/SQL-Server.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3476</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3476</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://dzone.com/articles/optimizing-data-loader-jobs-in-sql-server&quot;&gt;Arvind Toorpu. Optimizing Data Loader Jobs in SQL Server: Production Implementation Strategies&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
За последние 15 лет, работая с SQL Server в различных областях, я видел, что производительность загрузки данных по-прежнему остается одной из наиболее важных - и очень часто недооцененных областей в администрировании баз данных. Являются ли они ночными загрузками миллионов транзакций, интеграцией данных из множества источников или перемещением терабайтов данных между средами, неэффективная обработка загрузки быстро приводит расползанию проблем: пропущенные соглашения об уровне обслуживания, увеличение размера окон обслуживания, устаревшие отчеты и растущее недовольство как пользователей, так и руководства.&lt;br /&gt;
&lt;br /&gt;
На самом деле SQL Server предоставляет надежный набор функций и инструментов, которые могут в значительной степени улучшить производительность загрузки данных при правильном использовании. Я применял эти методы в сфере финансовых услуг, здравоохранения, розничной торговли и производства, постоянно добиваясь повышения производительности от трех до десяти раз. В следующем разделе я пройдусь по практическим, протестированным в рабочей среде подходам ускорения загрузки данных. Сделайте их надежной частью вашей платформы данных. &lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://sql-ex.ru/blogs/wp-content/uploads/2026/07/dataload_0.jpeg&quot; /&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/SQL-Server.html#extended&quot;&gt;Continue reading &quot;Оптимизация заданий загрузки данных в SQL Server: стратегии реализации в рабочей среде&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 23 Jul 2026 18:39:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3476.html</guid>
    
</item>
<item>
    <title>Сравнение DATE_BUCKET и DATETRUNC</title>
    <link>https://sql-ex.ru/blogs/?/DATE_BUCKET-DATETRUNC.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/DATE_BUCKET-DATETRUNC.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3437</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3437</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://callihandata.com/2024/10/01/comparing-date_bucket-and-datetrunc/&quot;&gt;Chad Callihan. Comparing DATE_BUCKET and DATETRUNC&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Если вы не много экспериментировали с SQL Server 2022, вы может быть незнакомы с функциями DATE_BUCKET и DATETRUNC. Обе они полезны, когда дело доходит до агрегирования данных. Давайте рассмотрим каждую из этих функций на нескольких примерах.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;DATE_BUCKET&lt;/h2&gt;&lt;br /&gt;
Начнем с DATE_BUCKET. DATE_BUCKET дает вам возможность агрегировать данные на основе выбранного вами интервала. Допустим, мы имеем такой набор событий:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://sql-ex.ru/blogs/wp-content/uploads/2026/06/date_bucket_1.png&quot; /&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/DATE_BUCKET-DATETRUNC.html#extended&quot;&gt;Continue reading &quot;Сравнение DATE_BUCKET и DATETRUNC&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 27 Jun 2026 09:02:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3437.html</guid>
    
</item>
<item>
    <title>Восстановление журнала транзакций базы данных SQL Server</title>
    <link>https://sql-ex.ru/blogs/?/SQL-Server.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/SQL-Server.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3429</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3429</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.sqlservercentral.com/blogs/rebuilding-a-sql-server-database-transaction-log&quot;&gt;davidfowler. Rebuilding a SQL Server Database Transaction Log&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&quot;Не могли бы вы помочь мне, мы удалили файл журнала транзакций базы данных и теперь она застряла в ‘Recovery Pending’?&quot;&lt;br /&gt;
&lt;br /&gt;
Такой крик о помощи я получил пару недель назад.&lt;br /&gt;
&lt;br /&gt;
&quot;Конечно, без проблем, нам придется восстановить вашу последнюю резервную копию&quot;, - ответил я.&lt;br /&gt;
&lt;br /&gt;
А потом неизбежное: &quot;Это только база данных разработки, мы не делаем резервных копий.&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Позвольте мне лирическое отступление. Вне зависимости от того, что это всего лишь база данных разработки, если это настолько важно, что вы сразу обращаетесь ко мне, значит это достаточно важно, чтобы делать бэкапы. Возможно, достаточно делать еженедельный полный бэкап, но, пожалуйста, убедитесь, что у вас всегда есть точка восстановления.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Итак мы имеем следующую ситуацию: база данных недоступна, отсутствует журнал транзакции и нет резервной копии. Что можно сделать? Фактически у нас есть только один вариант - мы должны восстановить журнал транзакций.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/SQL-Server.html#extended&quot;&gt;Continue reading &quot;Восстановление журнала транзакций базы данных SQL Server&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 22 Jun 2026 18:42:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3429.html</guid>
    
</item>
<item>
    <title>Иерархические типы данных</title>
    <link>https://sql-ex.ru/blogs/?/unknown.html</link>
            <category>PostgreSQL</category>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/unknown.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3420</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3420</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://fljd.in/en/2024/09/19/hierarchical-data-types/&quot;&gt;Florent Jardin. Hierarchical data types&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Стандарт SQL определяет ряд правил, которые позволяют системам баз данных быть взаимозаменяемыми, но в реальности есть небольшие особенности. В этой связи тип данных  hierarchyid в SQL Server является показательным примером. Если вы перейдете на PostgreSQL, вам будут доступны два решения.&lt;br /&gt;
&lt;br /&gt;
Первое и более простое решение - это связать каждый узел со своим родителем, используя новый столбец parentid и применяя ограничение внешнего ключа. Другой более сложный подход заключается в использовании расширения ltree. В данной статье рассматривается последний вариант.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/unknown.html#extended&quot;&gt;Continue reading &quot;Иерархические типы данных&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 16 Jun 2026 23:34:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3420.html</guid>
    
</item>
<item>
    <title>Зло (и польза) DISTINCT</title>
    <link>https://sql-ex.ru/blogs/?/DISTINCT.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/DISTINCT.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3414</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3414</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://drsql.link/2026/02/11/the-evil-and-value-of-distinct/&quot;&gt;Louis Davidson. The evil (and value) of DISTINCT&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Есть ли в SQL ключевое слово, которое вызывало бы больший страх, чем DISTINCT. Когда я вижу его в запросе, то сразу начинаю беспокоиться о том, сколько работы мне предстоит сделать, чтобы убедиться в правильности этого запроса. Я начинаю искать комментарии, объясняющие, почему оно тут находится, и если не обнаруживаю, то знаю, что запрос, вероятно, будет неправильным.&lt;br /&gt;
&lt;br /&gt;
Я наблюдал такие DISTINCT, которые скрывали плохие соединения, отсутствующую группировку и даже пропущенные предложения WHERE. Я видел разработчиков, которые использовали его как &quot;универсальное решение&quot; проблем с данными.&lt;br /&gt;
&lt;br /&gt;
В этой статье я рассмотрю правильное и явно опасное использование DISTINCT, а также покажу, как вы можете протестировать ваш запрос, который использует DISTINCT, чтобы увидеть, что он на самом деле скрывает.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/DISTINCT.html#extended&quot;&gt;Continue reading &quot;Зло (и польза) DISTINCT&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Tue, 09 Jun 2026 16:16:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3414.html</guid>
    
</item>
<item>
    <title>Оптимизация поиска при использовании SQL LIKE с подстановочными знаками</title>
    <link>https://sql-ex.ru/blogs/?/SQL-LIKE.html</link>
            <category>Optimization</category>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/SQL-LIKE.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3399</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3399</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.mssqltips.com/sqlservertip/8100/optimize-sql-like-wildcard-searches/&quot;&gt;Simon Liew. Optimize SQL LIKE Wildcard Searches&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Полный поиск по шаблону (например, LIKE &#039;%поисковая_фраза%&#039;) в Microsoft SQL Server может быть медленным и неэффективным, поскольку гарантируется сканирование всех строк в таблице. Имеются ли какие-нибудь варианты оптимизации запросов с оператором SQL LIKE?&lt;br /&gt;
&lt;br /&gt;
Оптимизация независимого от регистра полного поиска по шаблону с начальным и конечным подстановочным знаком является проблемой в базах данных SQL - эти шаблоны LIKE не получают выгоды от индексирования. Здесь исследуются  потенциальные варианты оптимизации такого поиска и проверяются распространенные заблуждения.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/SQL-LIKE.html#extended&quot;&gt;Continue reading &quot;Оптимизация поиска при использовании SQL LIKE с подстановочными знаками&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 30 May 2026 23:09:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3399.html</guid>
    
</item>
<item>
    <title>Слишком много индексов — это сколько?</title>
    <link>https://sql-ex.ru/blogs/?/unknown.html</link>
            <category>Optimization</category>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/unknown.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3381</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3381</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.brentozar.com/archive/2024/10/how-many-indexes-is-too-many/&quot;&gt;Brent Ozar. How Many Indexes Is Too Many?&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Давайте начнем с &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://www.brentozar.com/archive/2015/10/how-to-download-the-stack-overflow-database-via-bittorrent/&quot;&gt;базы данных Stack Overflow&lt;/a&gt; (будет работать версия любого размера), удалим все индексы на таблице Users и выполним DELETE:&lt;br /&gt;
&lt;br /&gt;
&lt;pre lang=&quot;sql&quot;&gt;SET STATISTICS IO ON;&lt;br /&gt;
GO&lt;br /&gt;
BEGIN TRAN&lt;br /&gt;
DELETE dbo.Users WHERE DisplayName = N&#039;Brent Ozar&#039;;&lt;/pre&gt;&lt;br /&gt;
Я использую SET STATISTICS IO ON, о чем мы говорили в статье &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://sql-ex.ru/blogs/?/Kak_dumat_podobno_serveru_SQL_Server.html&quot;&gt;&quot;Как думать подобно серверу SQL Server&quot;&lt;/a&gt; для иллюстрации количества прочитанных данных, и я делаю это в транзакции, которую я могу периодически откатывать, каждый раз демонстрируя полученные эффекты. Вот действительный план выполнения:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://sql-ex.ru/blogs/wp-content/uploads/2026/05/many_indexes_1.jpg&quot; /&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/unknown.html#extended&quot;&gt;Continue reading &quot;Слишком много индексов — это сколько?&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 17 May 2026 08:22:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3381.html</guid>
    
</item>
<item>
    <title>10 простых запросов на T-SQL, которые вы будете использовать каждый день</title>
    <link>https://sql-ex.ru/blogs/?/10-T-SQL,.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/10-T-SQL,.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3376</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3376</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.sqlfingers.com/2026/02/10-t-sql-one-liners-youll-use-every-day.html&quot;&gt;rebecca@sqlfingers. 10 T-SQL One-Liners You&#039;ll Use Every Day&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Каждый администратор баз данных держит в голове инструментарий готовых запросов. Некоторым потребовались годы, чтобы научиться. Некоторые были случайно обнаружены во время работы в 2 часа ночи. Сегодня я поделюсь 10-ю моими самыми любимыми короткими запросами T-SQL, теми, что копируешь, вставляешь и сразу чувствуешь себя гением. Некоторые из них - классические, некоторые - из недавнего пополнения, и все из них полезны. Ставьте закладку, я надеюсь, что вы сюда вернетесь.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;1. Генерация числовой последовательности на лету&lt;/h2&gt;&lt;br /&gt;
Нужно быстро получить последовательность чисел без создания таблицы подсчета? Если вы имеете SQL Server 2022 или более позднюю версию, GENERATE_SERIES - ваш новый лучший друг:&lt;br /&gt;
&lt;br /&gt;
&lt;pre lang=&quot;sql&quot;&gt;SELECT value FROM GENERATE_SERIES(1, 100);&lt;/pre&gt;&lt;br /&gt;
Это все. Одна строка кода. 100 строк в последовательности. Никаких временных таблиц, никаких CTE, никаких перекрестных соединений. Аналогичный прием для диапазона дат. Используйте это для получения каждого дня 2025 года в одной строке:&lt;br /&gt;
&lt;br /&gt;
&lt;pre lang=&quot;sql&quot;&gt;SELECT DATEADD(DAY, value, &#039;2025-01-01&#039;) AS dt FROM GENERATE_SERIES(0, 364);&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;Версия:&lt;/b&gt;  SQL Server 2022+ (уровень совместимости 160+)&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/10-T-SQL,.html#extended&quot;&gt;Continue reading &quot;10 простых запросов на T-SQL, которые вы будете использовать каждый день&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 14 May 2026 08:31:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3376.html</guid>
    
</item>
<item>
    <title>Функция JSON_CONTAINS в SQL Server 2025</title>
    <link>https://sql-ex.ru/blogs/?/JSON_CONTAINS-SQL-Server-2025.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/JSON_CONTAINS-SQL-Server-2025.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3368</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3368</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.mssqltips.com/sqlservertip/11534/son_contains-function-in-sql-server/&quot;&gt;Koen Verbeeck. JSON_CONTAINS Function in SQL Server 2025&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
У меня есть данные, пришедшие в мой SQL Server в формате JSON. Перед началом парсинга, который довольно интенсивный, необходимо проверить, присутствуют ли некоторые значения в этом JSON. Имеется ли функция, которую я могу использовать с этой целью? Давайте посмотрим, что может делать JSON_CONTAINS, новая функция в SQL Server 2025.&lt;br /&gt;
&lt;br /&gt;
Формат файла JSON поддерживается в SQL Server, начиная с версии 2016, когда были введены функции &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://sql-ex.ru/blogs/?/OPENJSON_Poluchenie_dannyh_i_PATH_-_chast_1.html&quot;&gt;OPENJSON&lt;/a&gt; и &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://learn.microsoft.com/en-us/sql/t-sql/functions/json-value-transact-sql?view=sql-server-ver17&quot;&gt;JSON_VALUE&lt;/a&gt;. Отличное введение в возможности SQL Server 2016 можно найти здесь: &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://www.mssqltips.com/sqlservertip/4073/sql-server-advanced-json-techniques-part-1/&quot;&gt;Продвинутые методы JSON в SQL Server, часть 1&lt;/a&gt;, &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://www.mssqltips.com/sqlservertip/4081/advanced-json-techniques-in-sql-server-part-2/&quot;&gt;часть 2&lt;/a&gt; и &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://www.mssqltips.com/sqlservertip/4138/advanced-json-techniques-in-sql-server-part-3/&quot;&gt;&lt;часть 3/a&gt;.&lt;br /&gt;
&lt;br /&gt;
С каждый релизом добавляется новая функциональность для обработки данных JSON. Недавно в Azure SQL DB был реализован &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://www.mssqltips.com/sqlservertip/21436/json-data-type-in-azure-sql-database/&quot;&gt;тип данных JSON&lt;/a&gt;, который теперь нашел свое применение в SQL Server 2025. Это последний предварительный релиз SQL Server на момент написания этой статьи. В отличие от многих других новых функций SQL Server, этот предварительный выпуск включает новую функциональность, которая доступна только в SQL Server 2025, но не в облачных аналогах, таких как база данных Azure SQL DB. Одной из этих новых функций является JSON_CONTAINS, которой и посвящена эта статья.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/JSON_CONTAINS-SQL-Server-2025.html#extended&quot;&gt;Continue reading &quot;Функция JSON_CONTAINS в SQL Server 2025&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 03 May 2026 11:32:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3368.html</guid>
    
</item>
<item>
    <title>T-SQL в SQL Server 2025: функции кодирования</title>
    <link>https://sql-ex.ru/blogs/?/T-SQL-SQL-Server-2025.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/T-SQL-SQL-Server-2025.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3363</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3363</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.sqlservercentral.com/articles/t-sql-in-sql-server-2025-encoding-functions&quot;&gt;Steve Jones. T-SQL in SQL Server 2025: Encoding Functions&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
В течение долгого времени я работал с разными компьютерными языками и кодирование бинарных данных было необходимо в первую очередь потому, что требовалось передавать данные на другой компьютер.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Функции кодирования: BASE64_ENCODE и BASE64_DECODE&lt;/h2&gt;&lt;br /&gt;
В язык T-SQL были добавлены две новых функции: BASE64_ENCODE, BASE64_DECODE . Эти функции взаимно обратны, подобно функциям шифрования. Одна функция возвращает вспять действия другого, и они предназначены для совместного использования.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/T-SQL-SQL-Server-2025.html#extended&quot;&gt;Continue reading &quot;T-SQL в SQL Server 2025: функции кодирования&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 29 Apr 2026 11:19:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3363.html</guid>
    
</item>
<item>
    <title>Как создать связанный сервер в SQL Server для  Oracle 26ai Free</title>
    <link>https://sql-ex.ru/blogs/?/SQL-Server-Oracle-26ai-Free.html</link>
            <category>Oracle</category>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/SQL-Server-Oracle-26ai-Free.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3359</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3359</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.red-gate.com/simple-talk/databases/how-to-create-a-sql-server-linked-server-to-oracle-26ai-free/&quot;&gt;Greg Low. How to Create a SQL Server Linked Server to Oracle 26ai Free&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Легко перемещайте данные из SQL Server в  Oracle 26ai Free, используя это пошаговое руководство. Узнайте как установить связанный сервер, сконфигурировать FREEPDB1 и избежать типичных ошибок.&lt;br /&gt;
&lt;br /&gt;
Недавно мне пришлось перенести некоторые данные из  SQL Server на Oracle 26ai в редакции Free. Я решил проверить, поможет ли связанный сервер сделать эту работу, поскольку зачастую это самый простой способ…&lt;br /&gt;
&lt;br /&gt;
Это позволит мне просто писать операторы INSERT SELECT, но в SQL Server, связанные серверы с Oracle, известны своей &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://learn.microsoft.com/en-us/previous-versions/troubleshoot/sql/linked-servers/set-up-troubleshoot-linked-server&quot;&gt;неуклюжестью&lt;/a&gt; и часто имеют проблемы с некоторыми типами данных, настройками времени, и т. д.&lt;br /&gt;
&lt;br /&gt;
В прошлом мне не приходилось создавать связанный сервер к Oracle 26ai Free, поэтому я решил, что должен задокументировать свои действия, чтобы в будущем я мог легко найти их и, возможно, помочь кому-то еще.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/SQL-Server-Oracle-26ai-Free.html#extended&quot;&gt;Continue reading &quot;Как создать связанный сервер в SQL Server для  Oracle 26ai Free&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 23 Apr 2026 10:20:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3359.html</guid>
    
</item>
<item>
    <title>&quot;Простая&quot; функция, которой нет: миграция функции T-SQL STR() в PostgreSQL</title>
    <link>https://sql-ex.ru/blogs/?/,-T-SQL-STR-PostgreSQL.html</link>
            <category>PostgreSQL</category>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/,-T-SQL-STR-PostgreSQL.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3357</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3357</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://medium.com/google-cloud/the-simple-function-that-isnt-migrating-t-sql-s-str-to-postgresql-a752ddd38a2f&quot;&gt;Assaf Fraenkel. The “Simple” Function That Isn’t: Migrating T-SQL’s STR() to PostgreSQL&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Иногда миграция оказывается более сложной, чем ожидалось. На первый взгляд определение функции STR в SQL Server является простым: она возвращает символьное представление числовых данных, выровненные по правому краю с заданной длиной и точностью до десятичных знаков. Однако при попытке конвертации вы обнаруживаете огромное число пограничных случаев, большинство из которых плохо документированы.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Техническая спецификация&lt;/h2&gt;&lt;br /&gt;
Стандартной спецификацией этой функции является:&lt;br /&gt;
&lt;br /&gt;
&lt;pre lang=&quot;sql&quot;&gt;STR ( float_expression [ , length [ , decimal ] ] )&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Значение по умолчанию Length (длина): 10&lt;/li&gt;&lt;li&gt;Значение по умолчанию Decimal (масштаб): 0&lt;/li&gt;&lt;/ul&gt;&lt;/pre&gt; &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/,-T-SQL-STR-PostgreSQL.html#extended&quot;&gt;Continue reading &quot;&amp;quot;Простая&amp;quot; функция, которой нет: миграция функции T-SQL STR() в PostgreSQL&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 19 Apr 2026 08:19:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3357.html</guid>
    
</item>
<item>
    <title>Сравнение функций STUFF, REPLACE и WRITE в SQL Server</title>
    <link>https://sql-ex.ru/blogs/?/STUFF,-REPLACE-WRITE-SQL-Server.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/STUFF,-REPLACE-WRITE-SQL-Server.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=2842</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=2842</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://www.mssqltips.com/sqlservertip/7563/sql-stuff-sql-replace-sql-write-similarities-differences/&quot;&gt;Aubrey Love. SQL STUFF vs SQL REPLACE vs SQL WRITE in SQL Server&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Если вы когда-либо решали задачу со строками в Microsoft SQL Server, то, вероятно, уже знакомы с различными строковыми функциями, которые могут упростить процесс решения. Функции &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;http://www.sql-tutorial.ru/ru/book_replicate_stuff_functions.html&quot;&gt;STUFF()&lt;/a&gt; и &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;http://www.sql-tutorial.ru/ru/book_replace_function.html&quot;&gt;REPLACE()&lt;/a&gt; наиболее часто используются для обновления строковых значений в таблице. Но .WRITE() является относительно менее известной, не так ли? &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/STUFF,-REPLACE-WRITE-SQL-Server.html#extended&quot;&gt;Continue reading &quot;Сравнение функций STUFF, REPLACE и WRITE в SQL Server&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 01 Jul 2023 08:31:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/2842.html</guid>
    
</item>
<item>
    <title>Вычисление скользящего среднего с помощью оконных функций в T-SQL</title>
    <link>https://sql-ex.ru/blogs/?/T-SQL.html</link>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/T-SQL.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3334</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3334</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.mssqltips.com/sqlservertip/8124/calculate-a-moving-average-with-t-sql-windowing-functions/&quot;&gt;Jared Westover. Calculate a Moving Average with T-SQL Windowing Functions&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Хотя мне нравится использовать SQL Server, есть несколько вещей, для которых лучше подходят другие инструменты. Например, вычисление скользящего среднего или накопительных итогов зачастую проще выполнить с помощью таких инструментов, как  Power BI или Excel. Это связано с тем, что Microsoft разрабатывала эти программы, имея в виду подобную функциональность. Недавно мы оптимизировали сложный запрос скользящего среднего, написанный для SQL Server 2008R2. Сюрприз! В SQL Server нет встроенной функции для вычисления скользящего среднего. Но не беспокойтесь, я покажу вам, как это сделать.&lt;br /&gt;
&lt;br /&gt;
В этой статье я рассмотрю два метода для создания скользящего среднего в SQL Server. Мы начнем со старого и менее производительного способа, который присутствовал в  нашей производственной системе. Кто знает, может быть вы все еще используете устаревшую версию SQL Server. Затем я покажу современный способ с использованием оконных функций и то, как добавление индекса, все меняет. К концу статьи вы будете готовы, чтобы справиться с этим скользящим средним в следующий раз, когда это кому-то понадобится, а не просто скажете: &quot;Используй Excel&quot;.&lt;br /&gt;
&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/T-SQL.html#extended&quot;&gt;Continue reading &quot;Вычисление скользящего среднего с помощью оконных функций в T-SQL&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 25 Mar 2026 09:11:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3334.html</guid>
    
</item>

</channel>
</rss>
