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. smalldatetime
、datetime
、date
、datetime2
或 datetimeofset
是否可能SQL 服务器的数据类型?
2. 如果没有,我认为唯一的选择是通过 nvarchar
数据类型存储这些值?
我建议将当月的结果存储为当月的第一天。一个简单的方法是:
select try_convert(date, right('01-' + @date, 10), 105)
'01-'
将是该月的第一天。
如果您确实需要区分 MM-YYYY 和 DD-MM-YYYY 输入,则需要使用字符串。
我想知道是否可以让 Day 字段对于 SQL Server 2019
中的任何 Date 数据类型都是可选的?
例如,用户可以输入 mm-yyyy
格式的日期,例如10-1980 或 dd-mm-yyyy
格式,例如25-10-1980.
1. smalldatetime
、datetime
、date
、datetime2
或 datetimeofset
是否可能SQL 服务器的数据类型?
2. 如果没有,我认为唯一的选择是通过 nvarchar
数据类型存储这些值?
我建议将当月的结果存储为当月的第一天。一个简单的方法是:
select try_convert(date, right('01-' + @date, 10), 105)
'01-'
将是该月的第一天。
如果您确实需要区分 MM-YYYY 和 DD-MM-YYYY 输入,则需要使用字符串。