Расчет промежутка времени в MySQL
пятница, августа 15, 2008sec_to_time(timestampdiff(SECOND, time_in, time_answer))
sec_to_time(timestampdiff(SECOND, time_in, time_answer))
Писать на Делфи многопользовательские приложения, работающие через MS SQL Server. Нужно предусмотреть кучу всего, вроде блокировки записей (чтобы два человека не могли одновременно править), безопасность и доступ, производительность, выгрузку данных и обработать ситуации, когда подключение к серверу “вдруг резко упало”.
Чтобы перевести секунды в time (20:30:50) в MySQL, достаточно написать:
sec_to_time(seconds)
Здравствует!
Доброе время суток, страна. Сегодня я хочу поведать о замечательном сайте "Упражнения по SQL", который открыл для себя сегодня.
Вы наверняка спросите - "Чем же он так замечателен?". Отвечаю: по сравнению с другими хорошими сайтами обучения SQL этот обладает одной отличительной фишечкой: на нем можно выполнять запросы и смотреть результаты по ходу обучения.
Например, обучили Вас, как пользоваться селектом (оператора SELECT). Следом идет проверка, как Вы усвоили материал: Вас просят написать запрос для выполнения задания. Написали, жмакаем кнопку "Выполнить" - и радуемся результату... ну или кликаем кнопку "Показать правильный результат", если немножечко ошиблись.Также на сайте есть система проверки знаний и сертификация.
Всем этим можно воспользоваться совершенно бесплатно, т.е. нахаляву! Рекомендую!
Ссылка: http://www.sql-ex.ru/
долго искал, как узнать IP-адрес - не нашел, зато нашел как узнать hostname клиента, выполнившего запрос на сервере. Как всегда, все гениальное просто:
host_name()
Вот как узнать текущую дату и время в SQL:
CURRENT_TIMESTAMP
Кто-нибудь знает как “вытащить” месяц или год из datetime-поля с помощью SQL? Я знаю, что QBE этого не может. SQL в состоянии это сделать?
Как насчет функции EXTRACT?
SELECT SALEDATE,
EXTRACT(DAY FROM SALEDATE) AS DD,
EXTRACT(MONTH FROM SALEDATE) AS MM,
EXTRACT(YEAR FROM SALEDATE) AS YY
FROM ORDERS
function CheckMSSQLServer(fServerName, fUserName, fPsw : string) : Bool;
var
wDb : TDatabase;
begin
// Check if MS SQL Server is reachable
// Важно! BDE Должна быть установлена
Result := False;
wDb := TDatabase.Create(nil);
with wDb do
begin
DatabaseName := ‘wDbDatabaseName’; // arbitrary name, must be unique
// in current Session
Params.Values[’SERVER Name’] := fServerName;
Params.Values[’USER Name’] := fUserName;
Params.Values[’PASSWORD’] := fPsw;
LoginPrompt := False;
end;
try
wDb.DriverName := ‘MSSQL’;
try
wDb.Connected := True;
wDb.Connected := False;
except
ShowMessage(’Server is not reachable’);
end;
Result := True;
finally
wDb.Free;
end;
end;
Данный обзор посвящен переносу данных с одного сервера на другой с использованием утилиты DTSWizard, которая входит в состав MS SQL Server Management Studio™.
Собственно, перенести можно не только данные, но и просто структуру таблиц, и не только с одного сервера на другой, а откуда угодно и куда угодно.
Давным-давно (ну очень давно), работая с базами SQL 2005, я столкнулся с проблемой, когда мне нужно было полностью скопировать данные нескольких таблиц с одного сервера в такие же таблицы на другой сервер. Кто-то наверное будет смеяться, но таблицу, в которой содержалось чуть больше 1000 строк данных, я скопировал тупым нажатием клавиш Ctrl+C и Ctrl+V, копировалось все это дело минут 20, при этом, наглым образом сжирало трафик стоимостью в 1,75 рублей за мегабайт. Следующая таблица содержала уже около 10 000 строк данных, причем каждая строка весила порядка 100 Кб, естественно использовать выше описанный способ я не стал :). Но возник вопрос, как их скопировать? Писать скрипт копирования мне было лень, тем более, что я был уверен, что способ быстро все это скопировать с минимальными потерями трафика и времени должен быть. Я опросил весь свой контакт лист в аське, запостил сей вопрос на форумах, и ответ не заставил себя долго ждать. Все сходились в одном – в использовании утилиты DTSWizard.
Как я уже ранее говорил, утилита DTSWizard входит в состав MS SQL Server Management Studio™. Если же вы не являетесь счастливым обладателем этого продукта, то, даже и не знаю чем вам помочь. Яндекс (http://yandex.ru) по запросу DTSWizard.exe вообще не выдает никаких результатов (на 09.01.2007), а Гугл (http://google.ru), выдал ссылки на несколько англоязычных ресурсов. На сайте http://msdn.microsoft.com/vstudio/express/sql/download/ можно найти бесплатные урезанные версии MS SQL Server 2005™, в какую из них входит, и входит ли вообще, утилита DTSWizard, я сказать не могу.
Если же MS SQL Server Management Studio™ у вас есть, то найти утилиту DTSWizard можно в папке C:\Program Files\Microsoft SQL Server\90\DTS\Binn – файл DTSWizard.exe.