Найдено результатов: 29

Гайсы что означает runtime error на acmp

RUNTIME ERROR
 

RUNTIME ERROR  

1223   1   17:02, 13th August, 2020


Как я могу вычислить чей-то возраст в C#?

Учитывая, что DateTime представляет собой день рождения человека, как я могу рассчитать его возраст в годах?

c#   .net   datetime    

1323   25   16:03, 1st July, 2020


Вычислить относительное время в C#

Учитывая конкретное значение DateTime , как я могу отобразить относительное время, например:

  • 2 часа назад
  • 3 дня назад
  • месяц назад

c#   datetime   time   datediff   relative-time-span    

626   25   16:03, 1st July, 2020


Определите timezone пользователя

Существует ли стандартный способ для веб-сервера определить timezone пользователя на веб-странице?

Возможно, из заголовка HTTP или части строки user-agent ?

html   browser   timezone   user-agent   timezone-offset    

1059   24   16:03, 1st July, 2020


Надежный таймер в консольном приложении

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

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

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

Я попробовал добавить цикл while true , но тогда основной поток слишком занят, когда таймер действительно выключается.

c#   .net   vb.net   timer    

489   2   16:03, 1st July, 2020


Гарантируется ли разрешение gettimeofday() в микросекундах?

Я портирую игру, которая изначально была написана для Win32 API, на Linux (ну, портирую порт OS X порта Win32 на Linux).

Я реализовал QueryPerformanceCounter , дав uSeconds с момента запуска процесса:

BOOL QueryPerformanceCounter(LARGE_INTEGER* performanceCount)
{
    gettimeofday(&currentTimeVal, NULL);
    performanceCount->QuadPart = (currentTimeVal.tv_sec - startTimeVal.tv_sec);
    performanceCount->QuadPart *= (1000 * 1000);
    performanceCount->QuadPart += (currentTimeVal.tv_usec - startTimeVal.tv_usec);

    return true;
}

Это, в сочетании с QueryPerformanceFrequency() , дающим постоянную 1000000 в качестве частоты , хорошо работает на моей машине, давая мне 64-битную переменную, которая содержит uSeconds с момента запуска программы.

Так это портативное устройство? Я не хочу обнаружить, что он работает по-другому, если kernel был скомпилирован определенным образом или что-то подобное. Однако меня вполне устраивает, что он не переносится на что-то другое, кроме Linux.

linux   winapi   visual-c++   unix   timer    

541   10   16:03, 1st July, 2020


Как удалить временную часть значения datetime (сервер SQL)?

Вот что я использую:

SELECT CAST(FLOOR(CAST(getdate() as FLOAT)) as DATETIME)

Я думаю, что может быть лучший и более элегантный способ.

Требования:

  • Это должно быть как можно быстрее (чем меньше отливок, тем лучше).
  • Конечным результатом должен быть тип datetime , а не строка.

sql-server   datetime   date-conversion    

517   0   16:03, 1st July, 2020


Дебаты по дизайну: каковы хорошие способы хранения и управления версионными объектами?

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

Я нахожусь в середине разработки приложения, которое делает что-то вроде управления портфелем. Дизайн, который у меня есть до сих пор, - это

  • Проблема: проблема, которую необходимо решить
  • Решение: предлагаемое решение одной или нескольких проблем
  • Отношение: отношение между двумя проблемами, двумя решениями или проблемой и решением. Далее разбивается на:
    • Родитель-ребенок - своего рода категоризация / иерархия дерева
    • Перекрытие-степень, в которой два решения или две проблемы действительно решают одну и ту же концепцию
    • Адреса-степень, в которой проблема обращается к решению

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

Итак, вопрос: каков наилучший дизайн для версирования этих вещей, чтобы я мог получить как текущую, так и историческую перспективу своего портфолио?

Позже: возможно, я должен сделать это более конкретным вопросом, хотя ответ @Eric Beard стоит того.

Я рассмотрел три проекта баз данных. Я буду достаточно каждого, чтобы показать свои недостатки. Мой вопрос: Что выбрать, или вы можете придумать что-то лучше?

1: проблемы (и отдельно, решения) являются самореферентными в управлении версиями.

table problems
  int id | string name | text description | datetime created_at | int previous_version_id

  foreign key previous_version_id -> problems.id

Это проблематично, потому что каждый раз, когда я хочу новую версию, я должен дублировать всю строку, включая этот длинный столбец description .

2: Создайте новый тип отношений: версия.

table problems
  int id | string name | text description | datetime created_at

Это просто перемещает отношения из таблиц проблем и решений в таблицу отношений. Та же проблема дублирования, но, возможно, немного "cleaner", так как у меня уже есть абстрактная концепция отношений.

3: Используйте более Субверсионную структуру; переместите все атрибуты проблемы и решения в отдельную таблицу и версируйте их.

table problems
  int id

table attributes
  int id | int thing_id | string thing_type | string name | string value | datetime created_at | int previous_version_id

  foreign key (thing_id, thing_type) -> problems.id or solutions.id
  foreign key previous_version_id -> attributes.id

Это означает, что для загрузки текущей версии проблемы или решения я должен извлечь все версии атрибута, отсортировать их по дате, а затем использовать самую последнюю. Это может быть не так уж и страшно. Что кажется мне действительно плохим, так это то, что я не могу проверить эти атрибуты в базе данных. Этот столбец value должен быть свободным текстом. Я могу сделать столбец name ссылкой на отдельную таблицу attribute_names , которая имеет столбец type ,но это не заставляет правильный тип в таблице attributes .

еще позже: ответ на комментарии @Eric Beard о внешних ключах с несколькими таблицами:

Увы, то, что я описал, является упрощенным: есть только два типа вещей (проблемы и решения). На самом деле у меня есть около 9 или 10 различных типов вещей, поэтому у меня будет 9 или 10 столбцов внешних ключей под вашей стратегией. Я хотел использовать наследование одной таблицы, но эти вещи имеют так мало общего, что было бы крайне расточительно объединять их в одну таблицу.

architecture   time   rdbms   versions    

494   5   12:22, 29th August, 2020


Обработка часовых поясов в хранилище?

Хранить все в GMT?

Хранить все так, как оно было введено со встроенным смещением?

Делайте математику каждый раз, когда вы оказываете?

Отображение относительного времени "1 минут назад"?

localization   internationalization   timezone   globalization    

445   3   09:54, 1st August, 2020


Модульное тестирование приложения на основе таймера?

В настоящее время я пишу простое мини-приложение на основе таймера в C#, которое выполняет действие n раз каждые k секунд.
Я пытаюсь принять тестовый стиль разработки, поэтому моя цель-модульное тестирование всех частей приложения.

Итак, мой вопрос: есть ли хороший способ модульного тестирования класса на основе таймера?

Проблема, как я вижу, заключается в том, что существует большой риск того, что выполнение тестов займет неудобно много времени, поскольку они должны ждать так и так долго, чтобы желаемые действия произошли.
Особенно если вы хотите получить реалистичные данные (секунды), а не использовать минимальное разрешение по времени, разрешенное фреймворком (1 мс?).
Я использую макет объекта для действия, чтобы зарегистрировать количество раз, когда действие было вызвано, и так, чтобы действие практически не занимало времени.

c#   .net   unit-testing   timer    

475   4   09:37, 26th August, 2020


Есть ли хорошие инструменты для создания временных рамок?

Мне нужно создать историческую хронологию, начиная с 1600-х годов и до наших дней. Мне также нужно иметь какой-то способ отображения событий на временной шкале, чтобы они не казались загроможденными, когда многие события находятся близко друг к другу.

Я пробовал использовать радарные диаграммы Visio 2007, а также Excel 2007, но не смог получить желаемых результатов. шаблоны временной шкалы в Visio не очень хороши, а использование радарных диаграмм в Excel приводит к загромождению данных.

Есть ли какие-либо другие инструменты или методы, которые я мог бы использовать для их создания?

@Darren:
Первая ссылка выглядит великолепно. Спасибо! Вторая ссылка не работала в Firefox и была отображена как ASCII. Он прекрасно открылся в 1929 году.
И да, это для конечных пользователей. Поэтому я хочу, чтобы он выглядел как можно более презентабельно, если вы понимаете, что я имею в виду.
Еще раз спасибо!

charts   timeline    

372   6   03:09, 20th August, 2020


Сколько времени вашего рабочего дня уходит на кодирование?

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

Когда вам нужно оценить количество времени, которое вы потратите на работу над чем-то, сколько часов в день вы тратите на кодирование? Что занимает остальные некодирующие часы?

Находите ли вы, что тратите больше или меньше часов, чем ваши товарищи по команде на кодирование? Вы чувствуете, что выполняете больше или меньше работы, чем они?

Каковы ваши условия работы? Личный кабинет, общий офис, командная комната? Кодирование в одиночку или в паре? Как ваше рабочее состояние изменило количество времени, которое вы тратите на кодирование каждый день? Если вы можете работать из дома, это помогает или вредит вашей производительности?

Какую методологию разработки вы используете? Водопад? Agile? Повлиял ли переход от одной методологии к другой на ваши часы кодирования в день?

Самое главное: довольны ли вы своей производительностью? Если нет, то какое единственное изменение вы бы сделали, которое оказало бы на него наибольшее влияние?

estimation   time-management    

430   9   21:06, 1st October, 2020


У вас есть "Slack" времени?

У команды CodePlex есть политика слабого времени, и это очень хорошо сработало для них.

  • Джим Ньюкирк и я использовали его для работы над проектом xUnit.net .
  • Джонатан Ванагел использовал его для работы над SvnBridge .
  • Скотт Денсмор и я использовали его для работы над прототипом ObjectBuilder 2.0.

Для других это было отличное время, чтобы исследовать вещи, которые технически не были в расписании, но в конечном итоге могли оказаться очень полезными для rest команды. Я настолько убежден в ценности этого, что если я когда-нибудь снова буду управлять командой, я сделаю это частью командной культуры.

У вас была формализованная политика слабости в вашей команде? Как же это получилось?

Отредактировано: я просто понял, что не определяю Slack. Для тех, кто не читал книгу, Slack-это то, что Google "20% time": вам дается некоторый кусок вашего day/week/month/year, на котором вы можете работать над вещами, которые не обязательно напрямую связаны с вашей работой day-to-day, но могут иметь косвенную выгоду (очевидно, если вы работаете над вещами, которые совершенно не полезны для вашей работы или вашей компании, ваш менеджер, вероятно, не будет очень хорошо думать о том, как вы потратили время: - p).

time-management    

385   6   04:54, 9th August, 2020


Как выполнить синтаксический анализ и конвертировать DateTime в формат даты-времени RFC 3339?

Как преобразовать структуру DateTime в ее эквивалент RFC 3339 форматированного строкового представления и / или проанализировать это строковое представление обратно в структуру DateTime? Формат даты-времени RFC-3339 используется в ряде спецификаций, таких как формат синдикации Atom.

.net   datetime   rfc3339   atom-feed    

564   4   06:10, 3rd August, 2020


Работа с PHP сервером и MySQL сервером в разных часовых поясах

Для тех из нас, кто использует стандартные пакеты общего хостинга, такие как GoDaddy или сетевые решения, как вы обрабатываете конверсии datetime, когда ваш хостинг-сервер (PHP) и MySQL сервер находятся в разных часовых поясах?

Кроме того, есть ли у кого-нибудь рекомендации по определению часового пояса, в котором находится посетитель вашего сайта, и соответствующим образом манипулирует переменной datetime?

php   mysql   datetime   date   timezone    

467   2   02:50, 7th August, 2020


Если у меня есть строка PHP в формате YYYY-DD-MM и timestamp в MySQL, есть ли хороший способ конвертировать между ними?

Мне интересно провести сравнение между строкой даты и MySQL timestamp. Однако я не вижу легкой конверсии. Неужели я упускаю что-то очевидное?

php   mysql   time   timestamp   date    

412   6   20:11, 27th August, 2020


Преобразование даты / времени с помощью time.mktime кажется неправильным

>>> import time
>>> time.strptime("01-31-2009", "%m-%d-%Y")
(2009, 1, 31, 0, 0, 0, 5, 31, -1)
>>> time.mktime((2009, 1, 31, 0, 0, 0, 5, 31, -1))
1233378000.0
>>> 60*60*24 # seconds in a day
86400
>>> 1233378000.0 / 86400
14275.208333333334

time.mktime должно возвращать количество секунд с момента начала эпохи. Поскольку я даю ему время в полночь, а эпоха-в полночь, разве результат не должен быть равномерно делим на количество секунд в день?

python   datetime    

474   4   13:42, 12th August, 2020


Как отправить email в локальное время пользователя на сервере .NET / Sql?

Я пишу программу, которая должна посылать email каждый час на час, но в то же время локально для пользователя.

Скажем, у меня есть 2 пользователя в разных часовых поясах. Джон сейчас в Нью-Йорке, а Фред-в Лос-Анджелесе. Сервер находится в Чикаго. Если я хочу отправить email в 6.30 локально каждому пользователю,мне придется отправить email Джону в 7 вечера по серверному времени и Фреду в 4 часа по серверному времени.

Каков хороший подход к этому в .NET / Sql сервере? Я нашел файл xml со всей информацией о часовом поясе, поэтому я подумываю написать сценарий для импорта его в базу данных, а затем запросить его.

Edit: я использовал “t4znet.dll " и сделал все сравнения на стороне .NET.

sql   .net   sql-server   timezone    

372   3   13:41, 3rd August, 2020


Какой хороший способ проверить, находятся ли две даты в один и тот же календарный день в TSQL?

Вот проблема, с которой я сталкиваюсь: у меня есть большой запрос, который должен сравнить даты в предложении where, чтобы увидеть, если две даты находятся в один и тот же день. Мое текущее решение, которое отстойно, состоит в том, чтобы отправить даты в UDF, чтобы преобразовать их в полночь того же дня, а затем проверить эти даты на равенство. Когда дело доходит до плана запроса, это катастрофа, как и почти все UDFs в предложениях joins или where. Это одно из немногих мест в моем приложении, где я не смог искоренить функции и дать оптимизатору запросов то, что он действительно может использовать для поиска лучшего индекса.

В этом случае слияние кода функции обратно в запрос кажется нецелесообразным.

Мне кажется, я упускаю здесь что-то простое.

Вот функция для справки.

if not exists (select * from dbo.sysobjects 
              where id = object_id(N'dbo.f_MakeDate') and               
              type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
  exec('create function dbo.f_MakeDate() returns int as 
         begin declare @retval int return @retval end')
go

alter function dbo.f_MakeDate
(
    @Day datetime, 
    @Hour int, 
    @Minute int
)
returns datetime
as

/*

Creates a datetime using the year-month-day portion of @Day, and the 
@Hour and @Minute provided

*/

begin

declare @retval datetime
set @retval = cast(
    cast(datepart(m, @Day) as varchar(2)) + 
    '/' + 
    cast(datepart(d, @Day) as varchar(2)) + 
    '/' + 
    cast(datepart(yyyy, @Day) as varchar(4)) + 
    ' ' + 
    cast(@Hour as varchar(2)) + 
    ':' + 
    cast(@Minute as varchar(2)) as datetime)
return @retval
end

go

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

where 
dbo.f_MakeDate(dateadd(hh, tz.Offset + 
    case when ds.LocalTimeZone is not null 
    then 1 else 0 end, t.TheDateINeedToCheck), 0, 0) = @activityDateMidnight

[Редактировать]

Я включаю предложение @Todd's:

where datediff(day, dateadd(hh, tz.Offset + 
    case when ds.LocalTimeZone is not null 
    then 1 else 0 end, t.TheDateINeedToCheck), @ActivityDate) = 0

Мое неправильное представление о том, как работает datediff (один и тот же день года в последовательные годы дает 366, а не 0, как я ожидал), заставило меня потратить много усилий.

Но план запроса не изменился. Я думаю, что мне нужно вернуться к чертежной доске со всем этим.

sql   sql-server   tsql   datetime   user-defined-functions    

453   10   19:32, 19th August, 2020


Естественный язык Дата / Время парсер для .NET?

Кто-нибудь знает о парсере даты и времени .NET, похожем на хронический для Ruby (обрабатывает такие вещи, как "tomorrow" или "3 часа дня в следующий четверг")?

Примечание: Я действительно пишу Ruby (именно так я знаю о хроническом), но этот проект должен использовать .NET.

.net   datetime   nlp    

450   9   20:25, 4th August, 2020


“rusage” статистика

Я пытаюсь использовать статистику “rusage” в своей программе, чтобы получить данные, аналогичные данным инструмента time . Однако я почти уверен, что делаю что-то не так. Значения кажутся правильными, но иногда могут быть немного странными. Я не нашел хороших ресурсов в интернете. Кто-нибудь знает, как сделать это лучше?

Извините за длинный код.

class StopWatch {
public:
    void start() {
        getrusage(RUSAGE_SELF, &m_begin);
        gettimeofday(&m_tmbegin, 0);
    }

    void stop() {
        getrusage(RUSAGE_SELF, &m_end);
        gettimeofday(&m_tmend, 0);
        timeval_sub(m_end.ru_utime, m_begin.ru_utime, m_diff.ru_utime);
        timeval_sub(m_end.ru_stime, m_begin.ru_stime, m_diff.ru_stime);
        timeval_sub(m_tmend, m_tmbegin, m_tmdiff);
    }

    void printf(std::ostream& out) const {
        using namespace std;

        timeval const& utime = m_diff.ru_utime;
        timeval const& stime = m_diff.ru_stime;

        format_time(out, utime);
        out << "u ";
        format_time(out, stime);
        out << "s ";
        format_time(out, m_tmdiff);
    }

private:
    rusage m_begin;
    rusage m_end;
    rusage m_diff;
    timeval m_tmbegin;
    timeval m_tmend;
    timeval m_tmdiff;

    static void timeval_add(timeval const& a, timeval const& b, timeval& ret) {
        ret.tv_usec = a.tv_usec + b.tv_usec;
        ret.tv_sec = a.tv_sec + b.tv_sec;
        if (ret.tv_usec > 999999) {
            ret.tv_usec -= 1000000;
            ++ret.tv_sec;
        }
    }

    static void timeval_sub(timeval const& a, timeval const& b, timeval& ret) {
        ret.tv_usec = a.tv_usec - b.tv_usec;
        ret.tv_sec = a.tv_sec - b.tv_sec;
        if (a.tv_usec < b.tv_usec) {
            ret.tv_usec += 1000000;
            --ret.tv_sec;
        }
    }

    static void format_time(std::ostream& out, timeval const& tv) {
        using namespace std;
        long usec = tv.tv_usec;
        while (usec >= 1000)
            usec /= 10;
        out << tv.tv_sec << '.' << setw(3) << setfill('0') << usec;
    }
}; // class StopWatch

c++   unix   time   profiling    

449   0   20:25, 28th August, 2020


Выполнение скрипта после определенной задержки с помощью JavaScript

Существует ли какой-либо метод JavaScript, подобный jQuery delay() или wait() (чтобы задержать выполнение скрипта на определенное время)?

javascript   settimeout    

448   14   21:28, 11th August, 2020


Хранимая процедура и время ожидания

Я запускаю длинную хранимую процедуру процесса.

Мне интересно, если в случае тайм-аута или любого случая отключения с базой данных после инициирования вызова хранимой процедуры. Он все еще работает и реализует изменения на сервере?

database   stored-procedures   timeout    

438   3   08:51, 15th August, 2020


Вывод метки времени компиляции в исполняемом файле Visual C++?

Как я могу вставить информацию о компиляции timestamp в исполняемый файл, который я строю с помощью Visual C++ 2005? Я хочу иметь возможность выводить что-то подобное, когда я выполняю программу:

Эта сборка XXXX была скомпилирована в dd-mm-yy, hh:mm.

где дата и время отражают время, когда был построен проект. Они не должны изменяться при каждом последующем вызове программы, если только она не будет перекомпилирована.

c++   visual-c++   execution   compile-time    

601   6   09:09, 2nd August, 2020


Синтаксический анализ строки в TimeSpan

У меня есть несколько строк формата xxh:yym, где xx-часы, а yy-минуты, как "05h:30m". Каков элегантный способ преобразования строки этого типа в TimeSpan?

c#   timespan    

455   5   01:19, 13th August, 2020


UITypeEditor и IExtenderProvider

У меня есть экстендер (IExtenderProvider), который расширяет некоторые типы элементы управления с дополнительными свойствами. Для одного из этих свойств у меня есть написано а UITypeEditor. Пока что все работает просто отлично.

Экстендер также имеет несколько свойств сам по себе, которые я пытаюсь Используйте как своего рода дефолт для UITypeEditor. То, что я хочу сделать, - это быть возможность установить свойство на самом расширителе (не расширенные элементы управления), и когда я открываю UITypeEditor для одного из дополнительных свойств на расширенный элемент управления, я хочу установить значение в UITypeEditor на значение из имущества на расширителе.

Простой пример: ExtenderProvider имеет свойство DefaultExtendedValue. В форме я установил значение этого свойства в "My Value". Расширенные элементы управления имеют, через поставщика, свойство ExtendedValue с UITypeEditor. Когда я открываю редактор для свойства ExtendedValue, значение по умолчанию (начальное) должно быть равно "My Value".

Мне кажется, что лучшим местом для этого было бы UITypeEditor.EditValue, как раз перед звонком IWindowsFormsEditorService.DropDownControl или .ShowDialog.

Единственная проблема заключается в том, что я не могу (или не знаю, как это сделать) получить доступ самого поставщика расширителя в EditValue, чтобы прочитать значение рассматриваемого свойства и установить его в UITypeEditor. Контекст дает мне расширенное представление контроль, но в данном случае он мне ни к чему.

Есть ли какой-то способ достичь того, что я пытаюсь? Любая помощь ценится!

Спасибо Том


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

.net   winforms   design-time   uitypeeditor   iextenderprovider    

547   3   07:00, 4th August, 2020


Тайм-аут не соблюдается в строке подключения

У меня есть долго работающий оператор SQL, который я хочу запустить, и независимо от того, что я помещаю в предложение "timeout=" моей строки подключения, он всегда заканчивается через 30 секунд.

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

Есть ли что-то еще, что может переопределить мой тайм-аут или заставить сервер sql игнорировать его? Я запустил profiler над запросом, и trace не выглядит по-другому, когда я запускаю его в management studio, а не в своем коде.

Management studio завершает запрос примерно за минуту, но даже с тайм-АУ, установленным на 300 или 30000, мой код все равно выходит через 30 секунд.

sql-server   database   timeout    

512   2   15:09, 27th August, 2020


SQL сервер DateTime сбой преобразования

У меня есть большая таблица с 1 миллионом+ записей. К сожалению, человек, создавший таблицу, решил поместить даты в поле varchar(50) .

Мне нужно сделать простое сравнение дат -

datediff(dd, convert(datetime, lastUpdate, 100), getDate()) < 31

Но он терпит неудачу на convert() :

Conversion failed when converting datetime from character string.

По-видимому, в этой области есть что-то, что ему не нравится, и поскольку существует так много записей, я не могу сказать, просто взглянув на нее. Как я могу правильно очистить все поле даты, чтобы оно не провалилось на convert() ? Вот что у меня сейчас есть:

select count(*)
from MyTable
where
    isdate(lastUpdate) > 0
    and datediff(dd, convert(datetime, lastUpdate, 100), getDate()) < 31

@SQLMenace

Я не беспокоюсь о производительности в этом случае. Это будет одноразовый запрос. Изменение таблицы на поле datetime не является опцией.

@Jon Лимджап

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


@SQLMenace

Проблема скорее всего в том, как хранятся данные, есть только два безопасных формата; ISO YYYYMMDD; ISO 8601 yyyy-mm-dd Thh:mm:ss:mmm (без пробелов)

Разве чек isdate() не позаботится об этом?

Мне не нужна точность 100%. Я просто хочу получить большую часть записей за последние 30 дней.


@SQLMenace

select isdate('20080131') -- returns 1
select isdate('01312008') -- returns 0

@Brian Schkerke

Поместите CASE и ISDATE внутри функции CONVERT().

Спасибо! Вот и все.

sql-server   datetime    

479   10   11:46, 5th August, 2020


Является ли DateTime.Now лучшим способом измерения производительности функции?

Мне нужно найти узкое место и нужно как можно точнее измерить время.

Является ли следующий фрагмент кода лучшим способом измерения производительности?

DateTime startTime = DateTime.Now;

// Some execution process

DateTime endTime = DateTime.Now;
TimeSpan totalTimeTaken = endTime.Subtract(startTime);

c#   .net   performance   datetime   timer    

545   15   05:46, 28th August, 2020