C# конвертировать INT в DATE - PullRequest
0 голосов
/ 27 марта 2020

У меня есть небольшой тестовый проект Winforms, где я получаю имя, фамилию и возраст из текстового поля. В моей базе данных есть имена столбцов, фамилия и рождение. Столбец рождения имеет тип данных DATE. (SQL Серверная БД)

    TABLE CUSTOMER
column name - Datatype nvchar
column lastname - Datatype nvchar
column birth - Datatype DATE

Я знаю, как получить данные как оператор вставки в мою БД.

Мой вопрос:

Возможно ли, что возраст, который я получаю как INT, может быть преобразован в ДАТУ?

Пример: возраст 38 из текстового поля -> это должно быть записано как fe 27.03.1982 в БД.

1 Ответ

1 голос
/ 27 марта 2020

Вы можете передать переменную age в запрос и использовать dateadd():

dateadd(year, @age, cast(getdate() as date))

Демонстрация на DB Fiddle :

select dateadd(year, -38, cast(getdate() as date)) birth;
| birth      |
| :--------- |
| 1982-03-27 |

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

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