在SQL Server中,日期类型通常是以“yyyy-mm-dd hh:mm:ss.mmm”的形式显示的,有时候为了使用户查看方便,需要对日期进行格式化。对日期进行格式化可以使用CONVERT()函数来实现。
CONVERT()函数将某种数据类型的表达式转换为指定格式的另一种数据类型。在SQL Server数据库中,应用CONVERT()函数的语法格式如下:
参数说明:
data_type:规定目标数据类型。
length:nchar、nvarchar、char、varchar、binary 或varbinary 数据类型的可选参数,用于规定输出的长度。
expression:需要转换的值。
style:可选参数,规定日期/时间的输出格式。其可选值和输出格式如表8.1所示。
表8.1 style参数可选值及其对应的输出格式
续表
例如,使用CONVERT()函数以“hh:mm:ss”格式显示当前时间。
输入:
输出(如图8 . 1所示):
图8.1 显示当前时间
例如,使用CONVERT()函数以“yyyy-mm-dd hh:mi”格式显示当前日期和时间。
输入:
输出(如图8 . 2所示):
图8.2 显示当前日期和时间
下面通过使用CONVERT()函数来对用户注册时间列中的日期进行格式化。
示例01 在users用户信息表中,查询前6条记录的用户id(user_id)、注册邮箱(email)和注册时间(reg_time),并对用户注册时间列中的日期进行格式化。
输入:
输出(如图8 . 3所示):
图8.3 对用户注册时间进行格式化
动图学习
在MySQL中,对日期进行格式化使用的是DATE_FORMAT()函数。该函数用于以不同的格式显示日期/时间数据。语法格式如下:
参数说明:
date:一个合法的日期。
format:规定日期/时间的输出格式。
在该函数中可以使用的格式如表8.2所示。
表8.2 DATE_FORMAT()函数可以使用的格式
续表
示例02 在users用户信息表中,查询前6条记录的用户id(user_id)、注册邮箱(email)和注册时间(reg_time),并将注册时间列中的日期输出为“年/月/日”的格式。
输入:
输出(如图8 . 4所示):
图8.4 对用户注册时间进行格式化
在Oracle中,日期的默认显示格式为“26-3月-17”(2017年3月26日),这种格式让人看起来很不习惯,所以此时就可以通过相应的函数对这个日期进行格式化。对日期进行格式化使用的是TO_CHAR()函数。该函数用于将指定的数据按照指定的格式转换为字符串型数据。语法格式如下:
参数说明:
expression:需要转换的日期或数字。
format:转换后的格式。
在该函数中可以使用的格式化日期的标记如表8.3所示。
表8.3 TO_CHAR()函数可以使用的格式化日期的标记
续表
示例03 在users用户信息表中,查询前6条记录的用户id(user_id)和用户出生日期(birthday),并将该日期转换为“年-月-日”的格式。
输入:
输出(如图8 . 5所示):
图8.5 对用户出生日期进行格式化