c# - C# 将 INT 转换为 DATE
问题描述
我有一个小型 Winforms 测试项目,我从文本框中获取姓名、姓氏和年龄。在我的数据库中,我有列名称、姓氏和出生。出生列是数据类型 DATE。(SQL 服务器数据库)
TABLE CUSTOMER
column name - Datatype nvchar
column lastname - Datatype nvchar
column birth - Datatype DATE
我知道如何将数据作为插入语句获取到我的数据库中。
我的问题是:
是否有可能将我作为 INT 获得的年龄转换为 DATE?
示例:文本框中的年龄 38 -> 这应该作为 fe 27.03.1982 写入 DB。
解决方案
您可以将年龄变量传递给查询并使用dateadd()
:
dateadd(year, @age, cast(getdate() as date))
select dateadd(year, -38, cast(getdate() as date)) birth;
| 出生| | :--------- | | 1982-03-27 |
请注意,这是计算出生日期的一种相当不准确的方法;年龄是一个日期间隔,应该包括月和日。您可能应该要求用户提供他们的出生日期,您可以从中得出年龄。
推荐阅读
- python - Python:打开文件并将文件对象存储为..what?
- c++ - C++ vs C# 和函数命令
- python - 如果我不完全知道变量的名称,如何打印变量?
- python-3.x - 用欧拉方法处理 ODE 不起作用
- javascript - 组件更新乱序 Vue
- c# - C# 循环遍历值 SQL
- angular - Angular 9 无法将我的类扩展为 MatTableDataSource
- python-3.x - 有没有办法在 Python Selenium 中选择具有动态 ID 的元素?
- anylogic - 在 AnyLogic 中,如何动态定义未预定义的批量大小?
- scala - 如何通过 Scala 在 Spark 中仅使用列名和数据类型创建新的空列