什么是 SQL Server 功能,它允许您将当前日期作为DATE类似于 SQL 标准CURRENT_DATE功能的类型获取。什么是<current date value function>SQL Server的?
使用 PostgreSQL,我正在寻找类似的东西,
SELECT CURRENT_DATE;
current_date
--------------
2018-06-27
(1 row)
Run Code Online (Sandbox Code Playgroud)
小智 6
您可以使用GETDATE(return type datetime) 或SYSDATETIME(return type datetime2),区别在于SYSDATETIME().
例子:
SELECT GETDATE() fn_GetDate, SYSDATETIME() fn_SysDateTime
Run Code Online (Sandbox Code Playgroud)
结果:
fn_GetDate fn_SysDateTime 2018-06-27 10:31:18.963 2018-06-27 10:31:18.9659170
请参阅产品文档中的日期和时间数据类型和函数 (Transact-SQL)。
为完整起见,SQL Server 也CURRENT_DATE将问题中提到的识别为ODBC 标量函数:
SELECT {fn CURRENT_DATE()};
Run Code Online (Sandbox Code Playgroud)
这将返回varchar(10),因此需要显式转换或转换为date数据类型:
SELECT CONVERT(date, {fn CURRENT_DATE()});
Run Code Online (Sandbox Code Playgroud)
与 ODBC 标量函数相比,推荐使用内置函数。
CAST (... to date)与GETDATE()或SYSDATETIME()最好的办法是
SELECT CAST( GETDATE() AS date );
Run Code Online (Sandbox Code Playgroud)
通过 SQL Server 中的扩展,您可以转换SYSDATETIME()为日期,
SELECT CAST( SYSDATETIME() AS date );
Run Code Online (Sandbox Code Playgroud)
SYSDATETIME(Transact-SQL)上的文档显示了更多示例,
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, SYSDATETIMEOFFSET())
,CONVERT (date, SYSUTCDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE())
,CONVERT (date, GETUTCDATE());
/* All returned 2007-04-30 */
Run Code Online (Sandbox Code Playgroud)
可能有优点CAST (GETDATE() AS date),因为GETDATE()本身返回的精度较低。
| 归档时间: |
|
| 查看次数: |
22436 次 |
| 最近记录: |