MS SQL Server 2017中的日期转换

MS SQL Server 2017中的日期转换,sql,sql-server,Sql,Sql Server,我是MS SQL Server的新手,因此希望对以下内容进行非常简单的解释 我的问题是创建一个视图,其中包含客户id、出生日期、月内年龄转换月内年龄差=从客户表中获取日期-DOB 每个客户id的客户表中都有出生日期DOB 我想创建一个视图 创建视图为 select customer_id, dob, Convert(INT, DATEDIFF(DAY, DOB,GETDATE())*(12.0/365.0)) AS Age_in__Months from customer 其次,如何将此视图与

我是MS SQL Server的新手,因此希望对以下内容进行非常简单的解释

我的问题是创建一个视图,其中包含客户id、出生日期、月内年龄转换月内年龄差=从客户表中获取日期-DOB

每个客户id的客户表中都有出生日期DOB

我想创建一个视图 创建视图为

select customer_id, dob, Convert(INT, DATEDIFF(DAY, DOB,GETDATE())*(12.0/365.0)) AS Age_in__Months
from customer
其次,如何将此视图与为eg cust1创建的另一个视图名称联接,以便在单个视图中组合显示所有内容

类似于创建视图组合:

select * from cust 
并加入:

select * from cust 1
你试过什么

听起来像是一个简单的连接

SELECT 
    c.*,
    c2.*
FROM Cust c
INNER JOIN Cust2 c2
  ON c.customer_id = c2.customer_id

请显示表格的DDL。以月为单位的年龄实际上有点棘手。最明显的检查方法是DateDiffmonth、DOB、Getdate,但对于大多数情况,这会给出错误的答案。例如,如果DOB为2018-07-31,使用上面的DateDiff检查会导致年龄为1个月,而实际上只有8天的差异。根据您的规格,不同的月最后一天值也可能会混淆您真正想要的内容。我知道的最简单的方法是:DateDiffmonth,DOB,Getdate-CASE WHEN DatePartDay,DOB