Соединитель MySQL x-devapi /C++, как мне работать со значениями RAW? В частности, как мне перевести данные даты / времени?

Используя соединитель MySQL x-devapi (C++), как мне работать с типом необработанного значения, возвращаемым базой данных? В частности, как мне перевести поле даты / времени?

Я знаю, что об этом уже спрашивали. Я хотел бы сделать это без добавленияUNIX_TIMESTAMP() функция на мои запросы.

Код:

int main() {
    cout << "Testing MySQL" << endl;
    try {
        Session session(
                SessionOption::USER, user,
                SessionOption::PWD,  password,
                SessionOption::HOST, "127.0.0.1",
                SessionOption::PORT, 33060,
                SessionOption::DB,   "demo",
                SessionOption::SSL_MODE, SSLMode::DISABLED
        );
        Schema db = session.getSchema("demo");
        RowResult dataSet = session.sql("SELECT SYSDATE() FROM DUAL;").execute();
        Row row;
        while ((row = dataSet.fetchOne())) {
            cout << "SYSDATE is " << row[0] << endl;
        }
        exit(0);
    }
    catch (const Error &err) {
        cout << "ERROR! " << err << endl;
        exit(1);
    }

    return 0;
}

Должен выводить

Testing MySQL
SYSDATE is 2020-06-02 11:40:06

Вместо этого вывод

Testing MySQL
SYSDATE is <7 raw bytes>

Перевод должен выполняться программой (код C++), а не MySQL, поскольку программа будет многоплатформенной, и я хотел бы иметь возможность использовать одни и те же запросы для каждого.

0 ответов

Другие вопросы по тегам