SQL Server 2019 中日期时间的可选字段?

Optional field for DateTime in SQL Server 2019?

我想知道是否可以让 Day 字段对于 SQL Server 2019 中的任何 Date 数据类型都是可选的?

例如,用户可以输入 mm-yyyy 格式的日期,例如10-1980 或 dd-mm-yyyy 格式,例如25-10-1980.

1. smalldatetimedatetimedatedatetime2datetimeofset 是否可能SQL 服务器的数据类型?

2. 如果没有,我认为唯一的选择是通过 nvarchar 数据类型存储这些值?

我建议将当月的结果存储为当月的第一天。一个简单的方法是:

select try_convert(date, right('01-' + @date, 10), 105)

'01-' 将是该月的第一天。

如果您确实需要区分 MM-YYYY 和 DD-MM-YYYY 输入,则需要使用字符串。