Создайте запросы с символами и переменными

Следующие примеры показывают, как создать запросы с помощью даты, текста, переменной MATLAB® и специальных символов. Создайте эти запросы с помощью командной строки.

Создайте запрос Используя дату

Этот пример показывает, как отформатировать дату в SQL-запросе.

Чтобы записать SQL-оператор, который выбирает данные из вашей базы данных с помощью даты, отформатируйте дату согласно спецификациям базы данных. Консультируйтесь со своей документацией базы данных для правильного форматирования. Этот пример показывает форматирование даты для базы данных Oracle®.

Создайте соединение с базой данных conn к базе данных Oracle с помощью драйвера ODBC. Следующий код принимает, что вы соединяете с источником данных под названием Oracle с именем пользователя username и пароль pwd.

conn = database('Oracle','username','pwd');

Создайте SQL-запрос sqlquery, который содержит полный запрос. Выполните запрос с помощью conn. Следующий код использует таблицу TEST_TYPES и столбцы TEST_DT1 и TEST_DT2. Пункт WHERE содержит код SQL Oracle для фильтрации записей на основе даты. Тип данных столбца TEST_DT1 является типом даты Oracle. Отфильтруйте записи для дат после 9 июня 2013 с помощью столбца TEST_DT1. Чтобы преобразовать дату в тип даты Oracle, введите дату в функцию Oracle to_date. Для даты '2013-06-09' задайте формат как 'YYYY-MM-DD', один из форматов даты в Oracle. Консультируйтесь со своей документацией Oracle для альтернатив.

Импортируйте данные с помощью SQL-запроса и функции fetch, и отобразите строки результатов. Запрос возвращает записи, где дата в столбце TEST_DT1 после 9 июня 2013.

sqlquery = ['SELECT * FROM TEST_TYPES ' ...
    'WHERE TEST_DT1 > to_date(''2013-06-09'',''YYYY-MM-DD'')'];
data = fetch(conn,sqlquery)
data = 

  2×2 table

               TEST_DT1                       TEST_DT2
    ____________________________    ____________________________
    '2013-06-10 15:11:00.000000'    '2013-06-10 15:11:22.500000'
    '2013-06-10 15:13:00.000000'    '2013-06-10 15:13:21.870003'

Закройте соединение с базой данных.

close(conn)

Создайте запрос Используя текст

Этот пример показывает, как включать текст в ваш SQL-запрос с помощью базы данных Microsoft® Access™.

Создайте соединение с базой данных conn к Базе данных Microsoft Access с помощью драйвера ODBC. Следующий код принимает, что вы соединяетесь с источником данных под названием dbdemo с пустым именем пользователя и паролем.

conn = database('dbdemo','','');

Выберите все записи из таблицы producttable с описанием продукта 'Slinky'. Создайте SQL-запрос sqlquery, который встраивает описание продукта в SQL-запрос при помощи дополнительной пары одинарных кавычек.

sqlquery = ['SELECT * FROM producttable ' ...
    'where productdescription = ''Slinky'''];

Или, можно записать SQL-запрос как конкатенацию двух векторов символов с помощью скобок: ['SELECT * FROM producttable where productdescription = ' '''Slinky''']

Выполните SQL-запрос с помощью функции fetch, и импортируйте и отобразите данные. data содержит запись продукта с описанием продукта 'Slinky'.

data = fetch(conn,sqlquery)
data = 

  1×5 table

    productnumber    stocknumber    suppliernumber    unitcost    productdescription
    _____________    ___________    ______________    ________    __________________

          3           4.01e+05           1009            17            'Slinky'     

Закройте соединение с базой данных.

close(conn)

Создайте запрос Используя переменную MATLAB

Этот пример показывает, как включать переменную MATLAB в ваш SQL-запрос и использует базу данных Microsoft SQL Server®. Чтобы создать связь с этой базой данных, необходимо сконфигурировать источник данных JDBC. Для получения дополнительной информации смотрите, что configureJDBCDataSource функционирует.

Создайте соединение с базой данных conn к базе данных Microsoft SQL Server с помощью источника данных JDBC без аутентификации операционной системы. Задайте имя источника данных, имя пользователя и пароль.

datasource = "dbname";
username = "username";
password = "pwd"; 
conn = database(datasource,username,password);

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

productId = 1;

Выберите все записи из таблицы invoice, где номер продуктов равен первому продукту. Создайте SQL-запрос sqlquery, который конкатенирует SQL-запрос с переменной MATLAB productID при помощи скобок. productID является числовой переменной, но SQL-запрос является вектором символов. Поэтому преобразуйте номер в вектор символов при помощи функции num2str.

sqlquery = ['SELECT * FROM invoice ' ...
    'where ProductNumber = ' num2str(productId)];

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

data = fetch(conn,sqlquery)
data =

  1×5 table

    InvoiceNumber           InvoiceDate           ProductNumber    Paid          Receipt     
    _____________    _________________________    _____________    _____    _________________

        2101         '2010-08-01 00:00:00.000'          1          false    [1948410×1 uint8]

Закройте соединение с базой данных.

close(conn)

Создайте запрос Используя специальные символы

Этот пример показывает, как записать SQL-запрос для имен таблиц и имен столбцов со специальными символами. Эти символы требуют символов ESC использования, которые характерны для вашей базы данных. Консультируйтесь со своей документацией базы данных для правильных символов ESC. Этот пример использует базу данных Microsoft SQL Server. Чтобы создать связь с этой базой данных, необходимо сконфигурировать источник данных JDBC. Для получения дополнительной информации смотрите, что configureJDBCDataSource функционирует.

Создайте соединение с базой данных conn к базе данных Microsoft SQL Server с помощью источника данных JDBC без аутентификации операционной системы. Задайте имя источника данных, имя пользователя и пароль.

datasource = "dbname";
username = "username";
password = "pwd"; 
conn = database(datasource,username,password);

Этот пример выбирает все данные в столбце, имя которого содержит пробелы. Этот столбец находится в таблице, имя которой также содержит пробелы. Пробел является специальным символом. Чтобы выбрать данные из этого столбца, необходимо заключить пробелы с символами ESC так, чтобы SQL-запрос выполнился успешно. Скобки являются символами ESC для базы данных Microsoft SQL Server.

Создайте SQL-запрос, который содержит имя столбца и имя таблицы, заключенное в скобках.

sqlquery = 'SELECT [column with spaces] FROM [table with spaces]';

Выполните SQL-запрос с помощью функции fetch, и импортируйте и отобразите данные.

data = fetch(conn,sqlquery)
data = 

  2×1 table

        Data       
     ___________    

     'some text'
     'some text'

Закройте соединение с базой данных.

close(conn)

Смотрите также

| | |

Похожие темы

Внешние веб-сайты