SQL Server SYSDATETIME 函数是一个日期函数,用于返回服务器实例运行所在计算机的当前日期和时间。SYSDATETIME 语句的语法是:
SYSDATETIME()
SQL Server SYSDATETIME 函数示例
SYSDATETIME 函数返回 datetime2 数据类型。格式为:“yyyy-mm-dd hh:mm:ss.nnnnnnn”(可以看到小数秒精度为 7)。
SELECT SYSDATETIME() AS [Current_Date]

注意:此函数与 GETDATE() 类似,区别在于:
- 它返回的小数秒精度最多为 7 位,而 GETDATE() 最多返回 3 位。
- 它返回 datetime2 作为数据类型,而 GETDATE() 返回 DateTime。
SYSDATETIME 函数示例 2
在此示例中,我们将展示 SQL Server SYSDATETIME 的示例。
在前三个语句中,我们使用 DATEPART 来显示今天日期和时间中的毫秒、微秒和纳秒。接下来,我们在 SQL Server 中使用 DATENAME 来显示今天日期和时间的星期名称。
在最后一行,我们使用 DATEADD 来显示明天的日期和时间。
SELECT 'Today' AS 'TODAY', SYSDATETIME() AS [Current_Date]; SELECT 'Milli Seconds' AS 'MILLI', DATEPART(millisecond, SYSDATETIME()) AS [Milli_Seconds]; SELECT 'Micro Seconds' AS 'MICRO', DATEPART(microsecond, SYSDATETIME()) AS [Micro_Seconds]; SELECT 'Nano Seconds' AS 'NANO', DATEPART(nanosecond, SYSDATETIME()) AS [Nano_Seconds]; SELECT 'Day' AS 'DAY', DATENAME(WEEKDAY, SYSDATETIME()) AS [Day_Name]; SELECT 'Tomorrow' AS 'DAY', DATEADD(day, 1, SYSDATETIME()) AS [Next_Date];

SYSDATETIME 函数示例 3
在此日期函数示例中,我们使用 DATEDIFF 函数来检查员工详细信息。这包括他被雇用的年份、他与公司相关的周数等。
SELECT [FirstName] + ' '+ [LastName] AS [Full Name]
,[Occupation]
,[YearlyIncome]
,[HireDate]
,DATEDIFF (year, [HireDate], SYSDATETIME()) AS [YEARS]
,DATEDIFF (day, [HireDate], SYSDATETIME()) AS [DAYS]
,DATEDIFF (WEEK, [HireDate], SYSDATETIME()) AS [WEEKS]
,DATEDIFF (WEEKDAY, [HireDate], SYSDATETIME()) AS [WEEKDAY]
FROM [Employes]
从下面的屏幕截图,您可以看到我们正在使用 DATEDIFF 函数查找员工入职日期与今天系统日期和时间 (SYSDATETIME()) 之间的差异。
