我试着谷歌搜索得到答案,但徒劳无功。以下是我的要求
有人可以帮助/指导我吗?
答案 0 :(得分:3)
您可以使用设置日期格式
示例强>
使用数据类型date
进行说明,但显然您可以使用datetime
Set DateFormat DMY
Select try_convert(date,'15/08/2017') -- Returns 2017-08-15
Set DateFormat MDY
Select try_convert(date,'15/08/2017') -- Returns NULL
Set DateFormat YMD
Select try_convert(date,'15/08/2017') -- Returns NULL
答案 1 :(得分:1)
如果您希望用户在" dd-MM-YYYY"中输入日期,则可能会遇到问题。格式,因为如果用户输入mm-dd-yyyy格式,您将获得不同的结果。 " YYYMMDD"是SQL Server将始终正确解释的通用格式。
从用户那里获得日期后,您可以使用所需的特定格式进行转换。以下内容将日期转换为ISO8601格式:
SELECT
GETDATE() AS UnconvertedDateTime,
CONVERT(nvarchar(30), GETDATE(), 126) AS UsingConvertTo_ISO8601 ;
GO
有关具体日期格式的详细信息,我建议您查看Microsoft's Convert Functions。