Горячие клавиши MS SQL Server Management Studio

Вряд ли удастся найти более удобный инструмент для работы с базами данных MS SQL Server, чем приложение SQL Server Management Studio (кратко SSMS). Это приложение предназначено для конфигурирования, управления и администрирования всех компонентов СУБД MS SQL Server. Невозможно представить работу с таким мощным инструментом без использования «горячих» клавиш. Так как поздние версии приложения основаны на Visual Studio, поэтому сочетания клавиш сильно не отличаются.

Ниже привожу список «горячих» клавиш, которые используются в Microsoft SQL Server Management Studio. Буду периодически обновлять статью и добавлять новые сочетания. В комментариях добавляйте свои сочетания клавиш, которые я пропустил, их так же буду добавлять.

Сочетание клавиш
Описание
Ctrl + Shift + UПреобразование выделенного текста в верхний регистр
Ctrl + Shift + LПреобразование выделенного текста в нижний регистр
Ctrl + Shift + FУстановление сохранения результатов в файл
Ctrl + F5Проверка выделенного скрипта (или всего скрипта, если нет выделенного текста)
Ctrl + EВыполнение выделенного скрипта (или всего скрипта, если нет выделенного текста)
Ctrl + UУстановление фокуса в поле выбора БД
Ctrl + DОтображение результатов в виде сетки
Ctrl + TОтображение результатов в виде текста
Ctrl + RСкрыть/отобразить область результатов
F5Выполнение выделенного скрипта (или всего скрипта, если нет выделенного текста)
F6Переключение между областью результатов (текст и сетка) и областью редактора текста

Горячие клавиши Excel

Несомненно приложение Microsoft Excel является мощным, но в то же время простым инструментом для работы с данными. С его помощью можно делать экономико-статистические расчеты, строить прогнозы показателей, графическое представление информации, программировать на языке VBA или использовать просто для хранения информации. Excel включает в себя такие удобные средства как:

  1. Диаграммы
  2. Сводные таблицы
  3. Умные таблицы
  4. Формулы
  5. Фильтры
  6. Горячие клавиши
  7. Подключения к базам данных и много других средств.

Сегодня рассмотрим горячие клавиши , которые облегчают и ускоряют работу с данными в приложении.

Комбинация клавиш
Описание
Альтернативный вариант
F12Предлагает выбор папки для сохранения книги Excel под новым названиемВкладка "Файл" -> "Сохранить как" -> кнопка "Обзор"
Ctrl + NОткрывает новую пустую книгуВкладка "Файл" -> Создать -> Пустая книга
Ctrl + KОткрывает окно вставки гиперссылки в выделенную ячейкуВкладка "Вставка" -> "Гиперссылка"
Ctrl + TОткрывает окно преобразования выделенных ячеек в "умную" таблицуВкладка "Вставка" -> "Таблица"
Ctrl + F12Появляется диалоговое окно для открытия существующей книгиВкладка "Файл" -> "Открыть", затем выбрать папку.
Alt + F5Обновляет выделенную сводную или плоскую таблицу в соответствии с источником данных объекта.Вкладка "Данные" -> кнопка "Обновить"
Ctrl + Alt + F5Обновляет все сводные плоские таблицы в соответствии с источником данных объектов.Вкладка "Данные" -> кнопка "Обновить все"
Ctrl + Shift + 1Форматирует выделенные ячейки как число с разделителями групп разрядов и 2 числами десятичных знаковПравая кнопка мыши -> Формат ячеек -> Выбрать формат "Числовой" -> указать число десятичных знаков и поставить галочку "Разделитель групп разрядов"
Ctrl + Shift + 5Форматирует выделенные ячейки как число в виде процентаПравая кнопка мыши -> Формат ячеек -> Выбрать формат "Процентный"
Shift + F3Вызывает окно вставки функции в выделенную ячейкуВкладка "Формулы" -> "Вставить функцию"
Shift + F10Вызывает контекстное меню для выделенных ячеекКлик правой кнопкой мыши по выделенной области
Shift + F11Вставляет новый пустой лист в книгу.Кнопка "+" справа от списка листов книги (нижняя область)
Shift + F12Сохраняет документВкладка "Файл" -> "Сохранить"

Создание пользовательской функции с помощью CLR.Net (С#) в MS SQL Server.

Тут я показывал как можно определять сколько раз подстрока встречается в строке. Для этого мы создали обычную пользователскую функцию с помощью T-SQL.
Сейчас я покажу как сделать то же самое с помощью функции написанной с применением технологии SQLCLR.
1) Для начала нам потребуется создать в среде Visual Studio проект с типом Class Library:

using System;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;

namespace CLRFunctions
{
    public static class CLRFunctions
    {
        [SqlFunction(
            DataAccess = DataAccessKind.None
            , IsDeterministic = true)
        ]
        public static SqlInt32 substring_cnt(string where, string what)
        {
            int i = 0;
            i = (where.Length - where.Replace(what, string.Empty).Length) / what.Length;
            return (SqlInt32)i;
        }
    }
}

Далее потребуется скомпилировать проект и получить библиотеку CLRFunctions.dll. Этот файл следует поместить в каталог, доступный для SQL Server.

2) Далее для того, чтобы можно было использовать библиотеки CLR, необходимо разрешить использование CLR на вашем сервере MS SQL:

sp_configure 'clr enabled', 1
reconfigure
go

3) Теперь можно создать Assembly на сервере:

create assembly CLRAssembly from 'c:\CLR\CLRFunctions.dll' with permission_set = safe
go

и пользовательскую функцию:

create function dbo.substring_cnt(@where nvarchar(1000), @what nvarchar(100))
returns int
as
	external name CLRAssembly.[CLRFunctions.CLRFunctions].substring_cnt

Применение функции:
select	dbo.substring_cnt('Hello, World!', 'o')

Как получить начало месяца и квартала в Oracle?

Мы уже рассматривали как получить начало месяца и квартала в t-SQL. Сейчас покажу как это сделать в Oracle.
В Oracle сделать это намного проще c помощью встроенной функции trunc:

select  trunc(sysdate, 'MM') as monthStart
        , trunc(sysdate, 'Q') as quarterStart
from    dual

Функция в Oracle для начала месяца может выглядеть так:

create or replace function monthStart(inputDate in date)
  return date
as 
begin
  return trunc(inputDate, 'MM');
end;

Применение функции:
select monthStart(sysdate) as ms from dual

Функция для начала квартала:

create or replace function quarterStart(inputDate in date)
  return date
as 
begin
  return trunc(inputDate, 'Q');
end;

Применение функции:
select quarterStart(sysdate) as ms from dual

С помощью функции trunc можно не только получать начало периода, но и отсекать дробную часть числа.

Количество вхождений подстроки в строку в SQL

В некоторых задачах SQL бывает необходимо подсчитать количество вхождений подстроки в строку. Самое простое решение в таком случае сводится к следующему алгоритму (строка, в которой ведется поиск – A, подстрока – B):

  1. Определить длину строки A.
  2. Заменить в строке A все подстроки B на пустые подстроки.
  3. Определить длину строки, полученной во втором шаге.
  4. Из длины, полученной на первом шаге вычесть длину, полученный в третьем шаге.
  5. Результат, полученный в четвертом шаге, поделить на длину подстроки B.

Оформим приведенный алгоритм в t-SQL в виде функции с двумя параметрами, где переменная @where – это строка A, а @what – подстрока B:

create function [dbo].[substring_cnt]
    (@where varchar(max), @what varchar(100))
returns int
as
begin
    return ((datalength(@where) - datalength(replace(@where, @what, ''))) / datalength(@what))
end

.

В своей следующей записи я покажу как реализовать приведенную в этой статье функцию в виде CLR-функции.