Преобразование логики метода DateTime.FromBinary в запрос TSQL - PullRequest
0 голосов
/ 11 декабря 2011

У меня есть таблица, содержащая столбец с типом данных VARBINARY(MAX).Этот столбец представляет разные значения для разных типов в моем классе слоя c # DB.Это могут быть: int, string и datetime.Теперь мне нужно преобразовать один столбец в три по его типу.Поэтому значения с типом int переходят в новый столбец ObjectIntValue и т. Д. Для каждого нового столбца.

Но у меня проблемы с передачей данных в столбец datetime, поскольку старый столбец содержит datetimeзначение в виде long, полученное из метода C # DateTime.ToBinary при сохранении данных.

Я должен сделать это в TSQL и не могу использовать .NET для преобразования этого значения в новый столбец.У вас есть идеи?

Спасибо за любой совет!

1 Ответ

0 голосов
/ 11 декабря 2011

Использование CLR в T_SQl

В основном вы используете Create Assembly для регистрации библиотеки DLL с вашими функциями в ней, Затем создайте пользовательскую функцию для ее вызова, затем вы можете использовать ее. Есть несколько правил, в зависимости от того, что вы хотите сделать, но, как правило, вы хотите только DateTime.FromBinary (), не должно быть слишком сложно понять.

Никогда не делал этого сам, но эти парни, кажется, знают, о чем они говорят

Учебное пособие по CLR в TSQL

Это один раз, верно? Ваш ответ на @schglurps вызывает беспокойство.

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

Если вы хотите проверить его, просто проверьте наличие или отсутствие новых столбцов.

Другой вариант - написать крошечное приложение, которое заполнило новые столбцы из старого, и вызвать его. Тьфу ...

Если это не так, и вы хотите сохранить и сохранить старый столбец, то у вас есть проблемы.

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