技术开发 频道

SQL Server中日期/时间值到字符类型的数据转换

   T-SQL支持多种预定义的格式。关于用于调用每个格式的格式命名和代码的完整清单,你可以在Microsoft SQL Server Books Online中阅读CAST和CONVERT(Transact-SQL)专题。

  现在让我们来看一个不同的例子。在下面的SELECT语句中,我们使用了CONVERT方法将Post_SmallDateTime字段栏转换成一个VARCHAR字段:

SELECT LogID, LogEvent,  
CONVERT(VARCHAR(25), Post_SmallDateTime, 121) AS Post_Converted
FROM dbo.LogInfo
WHERE LogID = 1

  正如前面的例子,日期/时间值显示为121格式:

LogID
LogEvent
Post_Converted
1
CREATE_TABLE
2005-10-14 01:58:00.000
(
1 row(s) affected)

  注意,由于日期/时间值是从SMALLADATETIME字段中获取的,因此时间值中的秒是00.000,这与SMALLDATETIME的是一样的。以下是如何以指定更短的长度截断VARCHAR数据类型的秒:

SELECT LogID, LogEvent,  
CONVERT(VARCHAR(16), Post_SmallDateTime, 121) AS Post_Converted
FROM dbo.LogInfo
WHERE LogID = 1

  目前CONVERT功能的数据类型参数显示为VARCHAR(16)而非VARCHAR(25),与前面的例子一样。下面的结果显示值是如何被截断以便秒不再显示:

LogID
LogEvent
Post_Converted
1
CREATE_TABLE
2005-10-14 01:58
(
1 row(s) affected)

  这就是所有关于日期/时间值的显式转换方法。当获取这些值时,CAST和CONVERT方法都是方便的工具(注意,这些方法同样可以用于转换其它类型的值)。在接下来的文章中,我将阐述如何从日期/时间字段获取特定的信息,以及如何计算日期/时间值。同时,你现在也已经掌握了如何转换这些值以及以特定格式显示它们的基本用法,这对你是非常有用的。

0
相关文章