SQL Server: DATEFROMPARTS
Функция DATEFROMPARTS принимает в качестве параметров год, месяц и день и возвращает значение даты.
Синтаксис функции следующий:
DATEFROMPARTS ( year, month, day )
Функция принимает следующие параметры:
- year - (целое число);
- month - (целое число от 1 до 12);
- day - (целое число от 1 до 31).
Функция DATEFROMPARTS принимает в качестве параметров год, месяц и день и возвращает значение даты.
Синтаксис функции следующий:
DATEFROMPARTS ( year, month, day )
Функция принимает следующие параметры:
- year - (целое число);
- month - (целое число от 1 до 12);
- day - (целое число от 1 до 31).
👍3
BINARY - MySQL
BINARY - это тип данных, который используется для хранения двоичных данных. Этот тип данных может быть использован для хранения любых данных, которые не могут быть интерпретированы как символы, такие как изображения, звуковые файлы, видео и т.д.
BINARY имеет следующие характеристики:
- Фиксированная длина: Длина поля BINARY всегда фиксирована и задается при создании таблицы. Например, если вы создаете поле BINARY(10), то оно всегда будет занимать 10 байт в таблице, даже если вы вставляете данные меньшего размера.
- Регистрозависимость: Данные типа BINARY регистрозависимы, что означает, что значения 'abc' и 'ABC' будут различаться, даже если они имеют одинаковую длину.
- Сравнение: Для сравнения данных типа BINARY используется бинарное сравнение, то есть двоичный код каждого символа сравнивается отдельно.
- Индексирование: Поля типа BINARY могут быть проиндексированы, что повышает скорость поиска данных.
BINARY - это тип данных, который используется для хранения двоичных данных. Этот тип данных может быть использован для хранения любых данных, которые не могут быть интерпретированы как символы, такие как изображения, звуковые файлы, видео и т.д.
BINARY имеет следующие характеристики:
- Фиксированная длина: Длина поля BINARY всегда фиксирована и задается при создании таблицы. Например, если вы создаете поле BINARY(10), то оно всегда будет занимать 10 байт в таблице, даже если вы вставляете данные меньшего размера.
- Регистрозависимость: Данные типа BINARY регистрозависимы, что означает, что значения 'abc' и 'ABC' будут различаться, даже если они имеют одинаковую длину.
- Сравнение: Для сравнения данных типа BINARY используется бинарное сравнение, то есть двоичный код каждого символа сравнивается отдельно.
- Индексирование: Поля типа BINARY могут быть проиндексированы, что повышает скорость поиска данных.
👍3
MySQL: PERIOD_ADD
PERIOD_ADD является одной из функций MySQL, которая используется для добавления количества периодов к указанной дате. Эта функция особенно полезна в тех случаях, когда вам нужно добавить несколько месяцев или лет к дате.
Синтаксис PERIOD_ADD выглядит следующим образом:
PERIOD_ADD(P,N) - где P - это период в формате YYMM или YYYYMM, а N - это количество периодов, которые нужно добавить к указанной дате.
PERIOD_ADD является одной из функций MySQL, которая используется для добавления количества периодов к указанной дате. Эта функция особенно полезна в тех случаях, когда вам нужно добавить несколько месяцев или лет к дате.
Синтаксис PERIOD_ADD выглядит следующим образом:
PERIOD_ADD(P,N) - где P - это период в формате YYMM или YYYYMM, а N - это количество периодов, которые нужно добавить к указанной дате.
👍5
Функция WEEK в MySQL
Функция WEEK используется для извлечения номера недели из даты.
Базовый синтаксис функции выглядит следующим образом:
WEEK( date_value, [ mode ] )
- date_value - значение даты или даты/времени, из которого извлекается неделя.
- mode - Необязательный. Он используется для указания дня недели. Это может быть один из следующих вариантов:
Примечание:
1. Функция WEEK возвращает значение от 0 до 53 или от 1 до 53 в зависимости от указанного режима.
2. Если вы используете MySQL 4.0.14+, а режим не указан, функция WEEK будет использовать значение в системной переменной default_week_format в качестве режима.
3. Если вы используете версию MySQL, которая старше 4.0.14, а режим не указан, функция WEEK будет использовать 0 в качестве режима.
4. Функция WEEKOFYEAR возвращает то же самое, что и функция WEEK с синтаксисом WEEK (date_value, 3).
Функция WEEK используется для извлечения номера недели из даты.
Базовый синтаксис функции выглядит следующим образом:
WEEK( date_value, [ mode ] )
- date_value - значение даты или даты/времени, из которого извлекается неделя.
- mode - Необязательный. Он используется для указания дня недели. Это может быть один из следующих вариантов:
Примечание:
1. Функция WEEK возвращает значение от 0 до 53 или от 1 до 53 в зависимости от указанного режима.
2. Если вы используете MySQL 4.0.14+, а режим не указан, функция WEEK будет использовать значение в системной переменной default_week_format в качестве режима.
3. Если вы используете версию MySQL, которая старше 4.0.14, а режим не указан, функция WEEK будет использовать 0 в качестве режима.
4. Функция WEEKOFYEAR возвращает то же самое, что и функция WEEK с синтаксисом WEEK (date_value, 3).
👍3
#Вопросы_с_собеседования
Расскажите алгоритм решения следующей задачи
Предположим, у вас есть две таблицы: Orders (Заказы) и Customers (Клиенты). Таблица Orders содержит колонки OrderID, CustomerID и OrderDate, а таблица Customers содержит CustomerID, Name и Country. Как бы вы нашли имена всех клиентов из США, которые не сделали ни одного заказа после 1 января 2022 года?
Для решения этой задачи можно использовать подзапросы или соединения таблиц. Один из подходов - использовать левое соединение (LEFT JOIN) между Customers и Orders, фильтруя заказы после указанной даты. Затем можно использовать WHERE условие, чтобы выбрать только тех клиентов, у которых нет соответствующих записей в Orders после этой даты и которые находятся в США. Это демонстрирует понимание соединений таблиц, фильтрации и работы с датами в SQL.
Расскажите алгоритм решения следующей задачи
Предположим, у вас есть две таблицы: Orders (Заказы) и Customers (Клиенты). Таблица Orders содержит колонки OrderID, CustomerID и OrderDate, а таблица Customers содержит CustomerID, Name и Country. Как бы вы нашли имена всех клиентов из США, которые не сделали ни одного заказа после 1 января 2022 года?
👍7
Пейджинг данных OFFSET…FECTCH
Пейджинг данных – это процесс разбиения большого объема данных на меньшие части или страницы. Это может быть полезно при работе с большими таблицами, когда нужно извлечь данные только для определенной страницы.
Оператор OFFSET…FETCH был добавлен в SQL Server 2012 и позволяет выбирать данные с определенной позиции. Он имеет следующий синтаксис:
SELECT {columns}
FROM {table}
ORDER BY {column}
OFFSET {offset} ROWS
FETCH NEXT {fetch} ROWS ONLY
- {columns} – список столбцов для извлечения данных
- {table} – имя таблицы
- {column} – столбец для сортировки
- {offset} – количество строк для пропуска
- {fetch} – количество строк для выборки
Пейджинг данных – это процесс разбиения большого объема данных на меньшие части или страницы. Это может быть полезно при работе с большими таблицами, когда нужно извлечь данные только для определенной страницы.
Оператор OFFSET…FETCH был добавлен в SQL Server 2012 и позволяет выбирать данные с определенной позиции. Он имеет следующий синтаксис:
SELECT {columns}
FROM {table}
ORDER BY {column}
OFFSET {offset} ROWS
FETCH NEXT {fetch} ROWS ONLY
- {columns} – список столбцов для извлечения данных
- {table} – имя таблицы
- {column} – столбец для сортировки
- {offset} – количество строк для пропуска
- {fetch} – количество строк для выборки
👍5
#вопросы_с_собеседований
Какие есть SQL-операторы для составления условий?
-WHERE - используется для фильтрации строк в таблице на основе заданного условия. Например:
- LIKE - используется для поиска строк, которые соответствуют заданному шаблону.
- BETWEEN - используется для выборки строк, значения которых находятся в заданном диапазоне.
- IN - используется для указания множества значений. Он возвращает результат, когда значение соответствует одному из заданных значений.
- IS NULL - оператор IS NULL используется для выборки строк с нулевым значением.
- AND - используется для объединения двух или более условий. Он возвращает результат только тогда, когда оба условия истинны.
- OR - используется для объединения двух или более условий. Он возвращает результат, когда хотя бы одно из условий истинно.
- NOT - используется для инвертирования значения условия. Он возвращает результат, когда условие ложно.
Какие есть SQL-операторы для составления условий?
-WHERE - используется для фильтрации строк в таблице на основе заданного условия. Например:
- LIKE - используется для поиска строк, которые соответствуют заданному шаблону.
- BETWEEN - используется для выборки строк, значения которых находятся в заданном диапазоне.
- IN - используется для указания множества значений. Он возвращает результат, когда значение соответствует одному из заданных значений.
- IS NULL - оператор IS NULL используется для выборки строк с нулевым значением.
- AND - используется для объединения двух или более условий. Он возвращает результат только тогда, когда оба условия истинны.
- OR - используется для объединения двух или более условий. Он возвращает результат, когда хотя бы одно из условий истинно.
- NOT - используется для инвертирования значения условия. Он возвращает результат, когда условие ложно.
👍9
#Вопросы_с_собеседования
Объясните разницу между командами DELETE и TRUNCATE
Команда DELETE — это DML-операция, которая удаляет записи из таблицы, соответствующие заданному условию(1 строка на картинке). При этом создаются логи удаления, то есть операцию можно отменить.
А вот команда TRUNCATE — это DDL-операция, которая полностью пересоздаёт таблицу, и отменить такое удаление невозможно(2 строка на картинке).
Объясните разницу между командами DELETE и TRUNCATE
Команда DELETE — это DML-операция, которая удаляет записи из таблицы, соответствующие заданному условию(1 строка на картинке). При этом создаются логи удаления, то есть операцию можно отменить.
А вот команда TRUNCATE — это DDL-операция, которая полностью пересоздаёт таблицу, и отменить такое удаление невозможно(2 строка на картинке).
👍8
Парсинг HTML с помощью PHP и SQL. Немного провокационный пример с анализом пользователей Хабра
Смотреть статью
Смотреть статью
👍3
✔️ Особенности сравнения record и NULL
Testing a ROW expression with IS NULL only reports TRUE if every single column is NULL. Нужно об этом знать, чтобы на напороться на ошибки в своём коде.
Testing a ROW expression with IS NULL only reports TRUE if every single column is NULL. Нужно об этом знать, чтобы на напороться на ошибки в своём коде.
SELECT
(NULL, NULL) IS NULL as "(NULL, NULL) IS NULL", --true
(NULL, NULL) IS NOT NULL as "(NULL, NULL) IS NOT NULL", --false
NOT (NULL, NULL) IS NULL as "NOT (NULL, NULL) IS NULL", --false
(1, NULL) IS NULL as "(1, NULL) IS NULL", --false
(1, NULL) IS NOT NULL as "(1, NULL) IS NOT NULL", --false --!!!
NOT (1, NULL) IS NULL as "NOT (1, NULL) IS NULL" --true --!!!👍3😁1
—
npm install knex --save—
npm install pg --saveKnex.js спроектирован как гибкий и портативный инструмент.
В нем есть как традиционные колбеки, так и интерфейс промисов для более чистого управления потоком
async, потоковый интерфейс, полнофункциональные конструкторы запросов и схем, поддержка транзакций (с точками сохранения), пул соединений и стандартизированные ответы между различными клиентами.Knex можно использовать в качестве конструктора SQL-запросов как в Node.JS, так и в браузере, ограничиваясь возможностями WebSQL (например, невозможностью дропать таблицы или читать схемы). Составлять SQL-запросы в браузере для выполнения на сервере крайне не рекомендуется, так как это может стать причиной серьезных уязвимостей в безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
SpeedML - это библиотека Python, целью которой является ускорение процесса разработки конвейера машинного обучения.
Она объединяет часто используемые пакеты ML, такие как
• Github
Она объединяет часто используемые пакеты ML, такие как
Pandas, NumPy, Scikit-learn, XGBoost и Matplotlib. SpeedML также предоставляет функциональные возможности для автоматизированного EDA.pip install speedml
• Github
👍2
#Вопросы_с_собеседования
❓Что делает оператор MERGE?
Ответ:
MERGE позволяет осуществить слияние данных одной таблицы с данными другой таблицы. При слиянии таблиц проверяется условие, и если оно истинно, то выполняется UPDATE, а если нет - INSERT. При этом изменять поля таблицы в секции UPDATE, по которым идет связывание двух таблиц, нельзя.
❓Что делает оператор MERGE?
Ответ:
👍7
Напишите запрос для выборки данных из таблицы «Customers», где условием является проживание заказчика в городе Москва?
Anonymous Quiz
91%
SELECT * FROM Customers WHERE City=”Moscow”
3%
SELECT City=”Moscow” FROM Customers
5%
SELECT Customers WHERE City=”Moscow”
😁10👍8