Sql как задать переменную: Переменные (Transact-SQL) – SQL Server

2.20. Переменные – Transact-SQL В подлиннике : Персональный сайт Михаила Флёнова

Язык запросов Transact-SQL отличается не только мощной поддержкой транзакций, но и поддержкой переменных, благодаря которым, становиться возможным создание более сложных запросов и даже целых программ. Переменные есть и в других вариантах языка SQL (в том числе и PL/SQL), поэтому это не индивидуальное преимущество именно MS SQL Server.

Переменные – элементы языка с присвоенными значениями. Если честно, то такое определение мне не очень нравиться, потому что не отражает суть переменных и абсолютно не понятно, что это и для чего нужно. Чтобы понять, что такое переменная, нужно вспомнить, как данные хранятся в памяти.

Когда вы заносите в компьютер какое-то число или строку, то в оперативной памяти для хранения этих данных выделяется участок памяти. Эта память имеет числовой адрес, а как известно, числа запоминать намного сложнее. Лично я могу помнить не более 10 номеров телефонов, а все остальное записываю в блокнот. Понятные слова запоминаются лучше и с ними проще работать. Чтобы обратиться к данным в памяти, необходимо указать адрес, по которому находятся нужное нам число или строка.

Чтобы не мучаться с числами, придумали переменные, которые, по своей сути являются именами участков в памяти, где находятся данные.

Вы объявляете локальные переменные в операторе DECLARE и после этого назначаете ему индивидуальное значение с помощью операторов SET или SELECT. Используйте оператор SET, когда желаемое значение известно, а оператор SELECT, когда вам нужно получить желаемое значение из таблицы. После того, как вы назначили переменное значение, вы можете использовать его в операторах, группах и процедурах, в которых они объявлены. Группы – это набор операторов Transact-SQL, которые отправляются вместе и исполняются как группа (несколько последовательно выполняемых команд). Мы не раз уже использовали группы, и вы их можете увидеть в листингах 2.9, 2.10 и так далее.

Имя локальной переменной начинается с одного символом @ в начале имени. Общий вид объявления переменной:


DECLARE {@local_variable datatype} [,..n]

Пример установки переменной значения:


SET @имя = значение

После ключевого слова указывается локальная переменная (@имя). Далее идет знак равенства и значение, которое должно быть присвоено переменной.

Следующий пример объявляет две переменные и использует их:

Листинг 2.13. Пример использования переменных


-- Объявляем две переменные @vLastName и @vFirstName,
-- которые имеют тип varchar размером в 50 символов
DECLARE @vLastName   varchar(50),
        @vFirstName  varchar(50)

-- Устанавливаем переменную фамилии @vLastName
SET @vLastName='%СИДОРОВ'

-- Выбираем имя работника из таблицы и записываем его в 
-- переменную @vFirstName
SELECT @vFirstName = vcName
FROM tbPeoples
WHERE vcFamil LIKE @vLastName

-- Печатаем результат
PRINT 'Имя Cидорова '+@vFirstName

В результате на экране мы должны увидеть сообщение:


Имя Cидорова ИВАН

Теперь посмотрим, что происходит в сценарии. Сначала мы объявляем две переменные. Это можно сделать двумя способами. Первый – после ключевого слова DECLARE перечислить через запятую имена переменных и их тип, как показано в листинге 2.13. Напоминаю, что имя переменной должно начинаться с @.

Второй способ – каждую переменную описать в отдельной секции DECLARE:


DECLARE @vLastName   varchar(50)
DECLARE @vFirstName  varchar(50)

Теперь переменной @vLastName, которая должна хранить фамилию работника, присваиваем значение ‘%СИДОРОВ’. Вначале фамилии стоит знак %, потому что в конце раздела 2.17 мы прибавили в начало каждой фамилии буквы mr. Если вы выполняли этот запрос, то обязательно необходимо добавить знак процента или переменной присвоить значение ‘mr.СИДОРОВ’.

Теперь выполняем запрос SELECT. Давайте рассмотрим его построчно:

  1. SELECT @vFirstName = vcName – после оператора SELECT, указываем, что необходимо значение поля “vcName” присвоить переменной @vFirstName;
  2. FROM tbPeoples – данные выбираются из таблицы tbPeoples;
  3. WHERE vcFamil LIKE @vLastName – в условии поиска мы указываем, что поле “vcFamil” должно соответствовать содержимому шаблона в переменной @vLastName.

Новой для нас является и последняя строка, в которой происходит вывод на экран сообщения с помощью оператора PRINT. После оператора указывается сообщение, которое необходимо вывести. Сообщение может быть указано через пробел или в скобках. Следующий пример показывает, как использовать сообщение в скобках:


print('Команда недопустима')

Содержимое переменной можно использовать и в качестве имени транзакции. В следующем примере, мы объявляем переменную @Transname, присваиваем ей значение, и используем в качестве имени транзакции:


DECLARE @Transname   varchar(50)

BEGIN TRANSACTION @Transname

INSERT INTO tbPeoples(vcFamil, vcName) 
VALUES('ВАСИЛЬКОВ', 'ИВАН')

COMMIT TRANSACTION @Transname

Глобальные переменные начинаются с двух символов @@. Когда вы создаете собственные программы на языке Transact-SQL, то рекомендую использовать только локальные переменные, чтобы случайно не спровоцировать конфликта имен или значений. Так как глобальные переменные доступны всем, то их может увидеть любой пользователь, подключенный в данный момент к серверу.

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

  1. @@SERVERNAME – содержит имя экземпляра MS SQL Server;
  2. @@VERSION – информация о версии SQL Server;
  3. @@ROWCOUNT – содержит количество строк, обработанных последней выполненной командой;
  4. @@SPID – идентификатор текущего процесса;
  5. @@TRANCOUNT – уровень вложенности транзакций;
  6. @@NESTLEVEL – уровень вложенности при выполнении хранимых процедур и триггеров;
  7. @@OPTIONS – текущие настройки серверных параметров;
  8. @@ERROR – содержит код ошибки последней выполненной команды;
  9. @@IDENTITY – последнее значение счетчика, которое было использовано после добавления строки.
  10. @@CURSOR_ROWS – возвращает количество записей, полученных последней командой открытия курсора.

В следующих главах мы еще будем возвращаться к глобальным переменным и некоторые из них рассмотрим более подробно. Рассматривать все переменные сейчас не имеет смысла, потому что у нас еще не достаточно информации о языке Transact-SQL и базе данных MS SQL Server. А сейчас ограничимся только общими понятиями и простым примером.

В качестве примера, давайте посмотрим, как определить имя установленного экземпляра MS SQL Server. Для этого необходимо выполнить следующую команду:


SELECT @@SERVERNAME

В моем случае я увидел в качестве результата строку с единственным безымянным полем, в котором находился текст: CYD\FLENOV.

Предыдущая глава

2.19. Транзакции

Следующая глава

2.21. Конвертирование типов

Назад к содержимому “Transact-SQL В подлиннике”

база данных – Как в обычном SQL запросе, используя только SELECT, объявлять переменную для использования ее в условиях выборки?


Вопрос задан


Изменён
2 года назад


Просмотрен
826 раз

Пример запроса и использование переменой ниже. Чтобы каждый раз менять нужное число не во всех блоках, а только в начале скрипта в виде переменой, для дальнейшего запуска через местный SQL менеджер (RunScript см. ниже).

/*переменая a = 1234*/
SELECT BLOCK1.cl1, BLOCK2.cl2 
FROM 
(SELECT a, b FROM table1
WHERE TIN = /*переменая*/) BLOCK1
LEFT JOIN 
(SELECT a, b FROM table2
WHERE TIN = /*переменая*/) BLOCK2
 ON BLOCK1.KEY=BLOCK2.KEY

PS На предприятии используют некий RunScript, чисто написаное мини-оконное приложение для сотрудников, где можно использовать только SELECT и выгружать готовую таблицу в Excel для дальнейших манипуляций с данными.

  • sql
  • база-данных
  • oracle
  • переменные
  • скрипт






3

Если нужна действительно переменная, а не константное значение литерала 123, то надо добавить переменную подстановки. Как добавить, зависит от языка, на котором реализован RunScript.

Например, так командой VARIABLE, доступной во многих инструментах:

variable a number
exec a = 123
select block1.cl1, block2.cl2 
from (
    select 123 tin, 'key1' key, 1 cl1, 2 cl2 from dual
    ) block1
left join (
    select 123 tin, 'key1' key, 3 cl1, 4 cl2 from dual
    ) block2 on block1.key=block2.key and block1.tin = 123
       CL1        CL2
---------- ----------
         1          4
WITH
temp_a AS
    (SELECT 1234 AS a FROM DUAL),
BLOCK1 AS 
    (SELECT a, b, TIN, cl1 FROM table1), 
BLOCK2 AS 
    (SSELECT a, b, TIN, cl2 FROM table2)
SELECT
    BLOCK1.cl1, BLOCK2.cl2 
FROM
BLOCK1
LEFT JOIN BLOCK2
       ON BLOCK1.KEY=BLOCK2.KEY,
 temp_a
WHERE
  BLOCK1.TIN=temp_a.a AND   
  BLOCK2.TIN=temp_a.a







Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации


Почта

Необходима, но никому не показывается




Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки


Переменные SQL: основы и использование

В этой статье мы изучим понятия и детали использования переменной SQL. В SQL Server локальные переменные используются для хранения данных во время выполнения пакета. Локальные переменные могут быть созданы для различных типов данных, а также им могут быть присвоены значения. Кроме того, присвоенные значения переменных могут быть изменены в течение периода выполнения.
Жизненный цикл переменной начинается с момента ее объявления и должен заканчиваться в конце пакета. На
с другой стороны, если переменная используется в хранимой процедуре, область действия переменной ограничена
текущая хранимая процедура. В следующих разделах мы подкрепим эту теоретическую информацию различными примерами.

Примечание: В примерах этой статьи используется образец базы данных AdventureWorks.

Объявление переменной SQL

Следующий синтаксис определяет, как объявить переменную:

DECLARE { @LOCAL_VARIABLE data_type [= значение] }

Теперь давайте интерпретируем приведенный выше синтаксис.

Во-первых, если мы хотим использовать переменную в SQL Server, мы должны объявить ее. Оператор DECLARE используется для объявления
переменная в SQL Server. На втором шаге мы должны указать имя переменной. Имена локальных переменных должны начинаться со знака @, поскольку это правило необходимо с точки зрения синтаксиса. Наконец, мы определили тип данных переменной. Аргумент значения, указанный в синтаксисе, является необязательным параметром, помогающим присвоить переменной начальное значение во время объявления. С другой стороны, мы можем присвоить или заменить значение переменной на следующих шагах пакета. Если мы не присваиваем переменной начальное значение, она инициализируется как NULL.

В следующем примере будет объявлена ​​переменная с именем @VarValue и типом данных varchar. В
в то же время мы назначим начальное значение «Спасите нашу планету»:

DECLARE @TestVariable AS VARCHAR(100)=’Save Our Planet’

PRINT @TestVariable

Присвоение значения переменной SQL

SQL Server предлагает два разных метода присвоения значений переменным, за исключением начального присвоения значения.
первый вариант — использовать оператор SET, а второй — использовать оператор SELECT. В следующих
Например, мы объявим переменную, а затем присвоим значение с помощью оператора SET:

DECLARE @TestVariable AS VARCHAR(100)

SET @TestVariable = ‘One Planet One Life’

PRINT @TestVariable

В следующем примере мы будем использовать оператор SELECT, чтобы присвоить значение переменной:

DECLARE @TestVariable AS VARCHAR(100)

SELECT @TestVariable = ‘Спасите природу’

ПЕЧАТЬ @TestVariable

Кроме того, оператор SELECT может использоваться для присвоения значения переменной из таблицы, представления или со скалярным значением.
функции. Теперь мы рассмотрим эту концепцию использования на следующем примере:

DECLARE @PurchaseName AS NVARCHAR(50)

SELECT @PurchaseName = [Имя]

ОТ [Закупки]. [Поставщик]

ГДЕ BusinessEntityID = 1492

PRINT @PurchaseName

Как видно, значение @PurchaseName было присвоено из таблицы Vendor.

Теперь мы присвоим значение переменной из скалярной функции:

DECLARE @StockVal AS INT

SELECT @StockVal=dbo.ufnGetStock(1)

SELECT @StockVal AS [VariableVal]

Несколько переменных SQL

В разных случаях нам может понадобиться объявить более одной переменной. На самом деле, мы можем сделать это, объявив каждый
переменная по отдельности и каждому параметру присвоено значение:

1

2

3

4

5

6

ОБЪЯВИТЬ @Variable1 КАК VARCHAR(100)

ОБЪЯВИТЬ @Variable2 КАК УНИКАЛЬНЫЙ ИДЕНТИФИКАТОР

SET @Variable1 = ‘Экономия воды, сохранение жизни’

SET @Variable2= ‘6D8446DE-68DA-4169-A2C5-4C0995C00CC1’

ПЕЧАТЬ @Variable1

ПЕЧАТЬ @Variable2

Этот путь утомителен и неудобен. Однако у нас есть более эффективный способ объявить несколько переменных в одном
заявление. Мы можем использовать оператор DECLARE в следующей форме, чтобы мы могли присваивать значения этим переменным в
один оператор SELECT:

DECLARE @Variable1 AS VARCHAR(100), @Variable2 AS UNIQUEIDENTIFIER

SELECT @Variable1 = ‘Save Water Save Life’, @Variable2= ‘6D8446DE-68DA-4169-A2C5-4C0995C00CC1’ 9000 3

ПЕЧАТЬ @Variable1

ПЕЧАТЬ @Переменная2

Кроме того, мы можем использовать оператор SELECT для присвоения значений из таблиц нескольким переменным:

1

2

3

4

5

6

7

DECLARE @VarAccountNumber AS NVARCHAR(15)

,@VariableName AS NVARCHAR(50)

SELECT @VarAccountNumber=AccountNumber , @VariableName=Name

FROM [Purchasing]. [Vendor ]

ГДЕ BusinessEntityID = 1492

PRINT @VarAccountNumber

PRINT @VariableName

Полезные советы о переменных SQL

Совет 1: Как мы упоминали ранее, срок действия локальной переменной истекает в конце пакета. Сейчас мы
проанализирует следующий пример этой проблемы:

DECLARE @TestVariable AS VARCHAR(100)

SET @TestVariable = ‘Think Green’

GO

PRINT @TestVariable

Приведенный выше скрипт сгенерировал ошибку из-за оператора GO. Оператор GO определяет конец пакета в SQL
Таким образом, жизненный цикл @TestVariable сервера заканчивается строкой оператора GO. Переменная, объявленная над GO
Строка оператора не может быть доступна под оператором GO. Тем не менее, мы можем решить эту проблему, перенеся
значение переменной с помощью временных таблиц:

1

2

3

4

5

6

7

8

ЕСЛИ OBJECT_ID(‘tempdb. .#TempTbl’) НЕ NULL DROP TABLE #TempTbl

DECLARE @TestVariable AS VARCHAR(100)

SET @TestVariable = ‘Hello World’

ВЫБЕРИТЕ @TestVariable AS VarVal INTO #TempTbl

GO

DECLARE @TestVariable AS VARCHAR(100)

SELECT @TestVariable = VarVal FROM #TempTbl

PRINT @TestVariable

Совет 2: Предположим, мы присвоили значение из таблицы переменной и результирующий набор SELECT
Оператор возвращает более одной строки. Основная проблема на этом этапе будет заключаться в том, какое значение строки присваивается переменной. В этом случае присвоенное значение переменной будет последней строкой результирующего набора. в
В следующем примере последней строке результирующего набора будет присвоена переменная:

1

2

3

4

5

6

7

8

9 9 0003

SELECT AccountNumber

FROM [Purchasing]. [Vendor]

ORDER BY BusinessEntityID

        

DECLARE @VarAccountNumber AS NVARCHAR(15) 90 003

ВЫБЕРИТЕ @VarAccountNumber=AccountNumber

ИЗ [Закупки].[Поставщик]

заказать по BusinessEntityID

ВЫБЕРИТЕ @VarAccountNumber AS VarValue

Совет 3: Если объявленные переменные типы данных и типы данных с присвоенным значением не совпадают, SQL Server
выполняет неявное преобразование в процессе присвоения значения, если это возможно. Тип данных с более низким приоритетом
преобразованы SQL Server в тип данных с более высоким приоритетом, но эта операция может привести к потере данных. Для
В следующем примере мы присвоим переменной значение с плавающей запятой, но этот тип данных переменной объявлен как
целое число:

объявить @floatvar как float = 12312.1232

Declarate @intvar как int

Set @intvar = @floatvar

Print @intvar

Заключение

В этой статье мы рассмотрели концепцию переменных SQL с разных точек зрения, а также узнали, как определить переменную и как присвоить ей значение (значения).

  • Автор
  • Последние сообщения

Esat Erkec

Esat Erkec — специалист по SQL Server, который начал свою карьеру более 8 лет назад в качестве разработчика программного обеспечения. Он является сертифицированным экспертом по решениям Microsoft для SQL Server.

Большая часть его карьеры была посвящена администрированию и разработке баз данных SQL Server. Его текущие интересы связаны с администрированием баз данных и бизнес-аналитикой. Вы можете найти его на LinkedIn.

Просмотреть все сообщения Эсата Эркеца

Последние сообщения от Esat Erkec (посмотреть все)

Объявление переменных в SQL. Обеспечение объявления ключевых переменных в… | Джеймс Мак Нил

Обеспечение объявления ключевых переменных в начале кода SQL может помочь автоматизировать повторное использование кода.

Фото Патрика Перкинса на Unsplash

Приступая к работе с кодом SQL, многие специалисты по данным делают код специфичным для задачи, которую они хотят выполнить. После создания выходных данных пользователи перейдут к следующему этапу пути к данным, которым может быть визуализация данных. Работа над созданием шаблонного кода, в котором жестко запрограммированные значения переменных определены в начале кода, гарантирует, что никакие переменные не будут пропущены при будущем использовании.

Рефакторинг кода SQL для обеспечения эффективного выполнения задач автоматизации помогает лучше протестировать код. В свою очередь, это также дает пользователям больше уверенности при совместном использовании кода с другими заинтересованными сторонами. Многие заинтересованные стороны могут не знать о внутренней работе общего SQL-запроса, поэтому автор должен позаботиться о том, чтобы четко определить все ключевые элементы.

В этой статье мы покажем, как можно использовать оператор declare с некоторыми базовыми переменными. Многие из этих примеров покажут существующий потенциал для создания более оптимизированного кода SQL.

Набор данных

Для этого анализа набор данных о землетрясениях в Греции был взят из Kaggle¹.

Землетрясения в Греции

Список землетрясений, произошедших в Греции в период с 1965 по 2021 год

www.kaggle.com

Код SQL, показанный в этой статье, был создан с использованием экземпляра Microsoft SQL Server Management Studio 18.

Начало работы

При первой работе с оператором declare пользователи заметят сходство, существующее с другими языками программирования. Каждая переменная может быть изначально объявлена ​​с определенным типом данных, что гарантирует ввод пользователем соответствующих данных. Установка новой переменной обеспечивает первый ввод данных, который будет использоваться в последующем коде SQL.

Код SQL 1.1 Простые операторы declare и set для исследовательского анализа данных (EDA) (Изображение автора)

Как читатель может видеть, в операторах declare мы создали две переменные даты и одну символьную переменную. Первый оператор set для начальной переменной создает определяемое пользователем значение даты. Включив регулируемое значение даты, пользователь может быстро запросить набор данных. Однако со всеми определяемыми пользователем значениями существует вероятность ошибки ввода. Поэтому необходимо позаботиться о том, чтобы обеспечить соответствующее значение типа данных. Сохранение переменной в коде обеспечивает гибкость для конечного пользователя.

Для второй остановки переменной даты мы используем внутреннюю переменную ключевого слова, которая предоставляет сегодняшнюю дату в качестве значения. Применение этой сгенерированной системой переменной позволяет коду SQL работать без каких-либо настроек со стороны пользователя. Мы можем видеть с оператором SELECT, что функция DATEADD поставляется с этой второй переменной даты. Функция DATEADD создает значение месяца за три месяца до сегодняшней даты.

Создание значения переменной таким образом гарантирует, что данные за последние три месяца будут исключены из результатов запроса. Иногда разработчики включают это действие в свой анализ данных, поскольку самые последние данные временных рядов могут включать в себя некоторую волатильность результатов. Значение этой волатильности может быть связано с тем, что данные не были полностью проверены командой, которая их создала. Поскольку все источники данных, возможно, не предоставили полностью проверенные входные данные на этапе анализа первоначальных данных. Если это так, то поставщикам источников данных может быть выделено время для проверки предоставленных ими данных. Если потребуются какие-либо корректировки, они могут быть предоставлены для надлежащего производства отчетов с управленческой информацией.

Результаты вывода SQL 1.1 показывают начальные строки с использованием фильтра даты (изображение автора)

Включая объявленную переменную, которая использует сегодняшнюю дату и корректирует ее в коде, чтобы принимать значения за три месяца до даты окончания, подчеркивает, как этот запрос может быть запланировано для автоматического создания выходных данных. С результатами, которые были выведены, мы можем поделиться соответствующим моментальным снимком данных.

СЧЕТЧИК

Часто при работе с кодом SQL мы хотим понять, насколько далеко мы продвинулись в процессе. Использование СЧЕТЧИКА может обеспечить обзор самого последнего этапа. Отслеживание метрик с помощью СЧЕТЧИКА помогает гарантировать, что мы всегда в курсе достигнутого прогресса, особенно если программе нужно выполнить несколько итераций.

Код SQL 1.2 Базовый счетчик для просмотра завершенных этапов кода (Изображение автора)

Создание переменной счетчика в виде целочисленного типа данных позволяет пользователю установить значение переменной в формате, соответствующем поставленной задаче. завершить. Принимая целочисленное значение, равное нулю, пользователь может выполнять итерацию, пока задача не завершит пять шагов. Однако, если пользователь предпочитает просматривать счетчик в порядке убывания, можно установить более высокое значение, например пять, а затем оно обесценивается с каждой итерацией. С обновлениями значения счетчика, показанными выше, доступны два разных метода. Первый метод показывает, как можно обновить переменную счетчика, добавив значение единицы к значению счетчика. При втором методе используется ярлык для обновления переменной счетчика. На каждой итерации значение будет увеличиваться с каждым методом. Эти результаты можно увидеть ниже.

Вывод SQL 1.2 Каждая итерация счетчика может быть напечатана в журнале результатов (Изображение автора)

ЦИКЛ WHILE

Подобно счетчику в предыдущем разделе, другой вариант для использования — это цикл while. Как видно из других языков программирования, цикл while обеспечивает конечную точку, к которой цикл должен работать. На каждой итерации цикла функция проверяет, достиг ли цикл конечного значения итерации. Пока не достигнута окончательная итерация, программа продолжит выполнение запрошенной задачи.

Код SQL 1.3 создание переменной-счетчика с использованием цикла while (Изображение автора)

При объявлении переменной-счетчика выполняются те же шаги, что и раньше. Переменная объявляется как целочисленный тип данных. Еще раз переменной присваивается начальное значение. Где переменная счетчика потребует непрерывного дублирования кода для обновления значения переменной с использованием предыдущего метода счетчика. Цикл while оптимизировал код, чтобы включить обновление переменной счетчика только в одну строку. Два ключевых слова включены в НАЧАЛО и ЗАВЕРШЕНИЕ части цикла кода.

SQL output 1.3 результаты работы с циклом while для перебора счетчика (Изображение автора)

Демонстрация с циклом while приводит к представлению первого и последнего значения счетчика.

DATEFORMAT

Другой параметр, который можно настроить в начале кода SQL, — решить, какой формат даты используется. Разработчику будет доступно множество вариантов формата даты, мы не будем их здесь рассматривать. В этом примере мы подчеркиваем, как можно использовать оператор set для предоставления требуемого формата даты.

Код SQL 1.4, работающий с ключевым словом формата даты (Изображение автора)

Код предназначен для проверки и просмотра того, рассматривается ли объявленная переменная date1 интерпретатором SQL как дата SQL. Возвращая результат 1 в выводе ниже, мы можем подтвердить, что это так. Использование различных форматов даты позволит разработчику изменить тип выходной даты в соответствии с местными ожиданиями.

Результаты вывода 1.4 SQL для оценки даты (Изображение автора)

Код выше, подчеркнутый красным, показывает, что интерпретатор SQL еще не знает о создании этого значения. Поскольку оператор go перед этим разделом кода перезапускает интерпретатор, предыдущие знания об этой объявленной переменной теряются. Чтобы снова использовать объявленную переменную, нам нужно закомментировать предыдущий оператор go. В качестве альтернативы мы также можем снова создать объявленную переменную и указать другое значение. Знание этих пунктов с интерпретатором SQL гарантирует, что не возникнет никаких потенциальных ошибок, когда они не должны происходить. Включение ключевого слова go может помочь разделить код на разные разделы и может быть полезно в зависимости от ваших рабочих требований.

LANGUAGE

До сих пор мы работали с объявлением общих переменных для работы с данными. Другой доступный вариант — настроить язык, который используется в фоновом режиме. Нам может потребоваться использовать эту функцию при работе с датами. В примере кода мы показываем разницу между двумя языками. Создание различных имен переменных с использованием параметра языка помогает использовать встроенные данные.

Код SQL 1.5 корректировка результатов даты с помощью настройки языка (Изображение автора)

Код остается очень похожим при использовании каждой из языковых опций. Это помогает отображать различные выходные данные, которые создаются автоматически, без необходимости изменения больших объемов кода. Мы также видим, как ключевое слово go использовалось для создания двух блоков кода. Включение различных начальных значений даты также подчеркивает, с каким количеством форматов даты можно работать.

SQL output 1.5 Различия между двумя языками (Изображение автора)

Возможность поддерживать синтаксис кода помогает значительно облегчить жизнь разработчика. С помощью кода, автоматически создающего соответствующие значения символов для названия месяца и дня недели, мы можем видеть, сколько вариантов доступно для получения управленческой информации.

Эти примеры лишь поверхностно показывают, что доступно при использовании атрибутов операторов declare и set. Имея возможность изменить несколько внутренних настроек в запросе, разработчик получает больше свободы в использовании аналогичного кода для получения разных результатов. Всегда мечтаю не создавать много похожего кода.

Заключение

В этой статье мы проработали объявление ряда переменных. Использование ряда встроенных методов позволяет автоматизировать код. Именно эта автоматизация позволяет воспроизводить регулярные отчеты путем настройки процесса планирования. При работе с датами доступно несколько форматов даты. Тщательное понимание правильной даты помогает обеспечить правильную фильтрацию данных. Используя счетчик или цикл while, мы можем вести запись текущей итерации кода. Настройка языка, используемого интерпретатором SQL, показывает, как можно использовать один и тот же код для получения результатов, соответствующих требуемому языку.

Оставляйте свои комментарии и большое спасибо за прочтение!

Вы можете стать премиум-участником Medium, используя ссылку ниже, и получить доступ ко всем моим историям и тысячам других:

Присоединяйтесь к Medium по моей реферальной ссылке – Джеймс МакНил

Как участник Medium, часть часть вашего членского взноса идет писателям, которых вы читаете, и вы получаете полный доступ ко всем историям…

jamesmcneill06. medium.com

Вы можете связаться со мной по LinkedIn для дружеской беседы обо всех данных. Другие истории, которыми я поделился:

Расширенные операции SQL

Обзор более сложных операций SQL для извлечения дополнительных данных из набора данных Irish Weather.

в направлении datascience.com

Разработка таблиц SQL

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

по направлению datascience.com

Строки в SQL, часть 2

Агрегирование и сегментирование строковых переменных с помощью SQL

в направлении datascience.com

Строки в SQL, часть 1

Извлечение значимой информации из символьных столбцов с помощью SQL строковые методы

в направлении datascience.com

[1]: набор данных Kaggle по землетрясениям в Греции с https://www.kaggle.