SQL SYSDATETIME 函数

SQL Server SYSDATETIME 函数是一个日期函数,用于返回服务器实例运行所在计算机的当前日期和时间。SYSDATETIME 语句的语法是:

SYSDATETIME()

SQL Server SYSDATETIME 函数示例

SYSDATETIME 函数返回 datetime2 数据类型。格式为:“yyyy-mm-dd hh:mm:ss.nnnnnnn”(可以看到小数秒精度为 7)。

SELECT SYSDATETIME() AS [Current_Date]
Current Date and Time 1

注意:此函数与 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 Function 2

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()) 之间的差异。

SYSDATETIME Function 3