0 голосов
спросил от в категории VBASPNETVBNET
В принципе, не нужно.
Измените свою базу данных так, чтобы вы сохраняли информацию на основе даты в DATE, DATETIME или DATETIME2 и только когда-либо использовали NVARCHAR для строки основанные на данных.

Проблема заключается в том, что данные на основе строк не имеют определенного формата, и очень часто (и чрезвычайно сложно работать), что данные в поле не является последовательным. Например, если строка «01/02/1982», которая может быть европейской: 1 февраля 1982 года или США: 2 января 1952 года - и вы не можете сказать, потому что, как только данные попадают в БД, вы потеряли весь контекст о том, кто вошел в него, и о том, какой язык пользовался пользователем. И если ваша система не проверяет пользовательские записи, тогда это может быть «35 Марс 96» или «Идите вперед и размножайтесь», и вы не представляете, что он имел в виду.

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

Если вы должны использовать строки - и они будут давать вам головные боли каждый раз, когда вы пытаетесь их использовать, - тогда посмотрите на #SUBSTRING # [#^ #] и #CONVERT # [#^ #]. Но это будет уродливо и подвержено ошибкам.

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

Категории

Добро пожаловать на сайт DraftingCode Q&A, где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...