EXCEL-SQL学习笔记——转换函数

统一项目起止的日期格式

CDATE

EXCEL-SQL学习笔记——转换函数_第1张图片

SELECT 序号,项目名称,  CDATE(开始时间) AS 开始日期,  CDATE(结束时间) AS 结束日期   FROM [项目进度一览表$]

CDATE函数将文本型日期转换为日期值,返回结果如图所示
EXCEL-SQL学习笔记——转换函数_第2张图片

取值 说明
CDATE(-1) 日期不能为负数,返回错误"#####"
CDATE(0)或CDATE(1) 返回#1900-1-0#
CDATE(2.6) 返回#1900-1-1 02:24:00 PM#
CDATE(#2010-5-7 星期五#) 提示“类型不匹配”

CDATE函数的返回值受短日期格式的影响,当“区域和语言”对话框中的“格式”选项卡下设置的短日期格式为“yyyy/m/d”时,则CDATE函数的返回结果类似于2010/1/7;打不过为“yyyy-M-d”时,类似于“2010-1-7”。

  • 注意:
  • 1、当年份或日期大于10且末尾为“十”或“拾”时,将返回错误的日期值。如“2012-十二-贰拾”=“2012/12/21”。“二千/1/1”返回“2001/1/1”。
  • 2、当年份为中文大写数字的时候,年份中的“0”写作“拾”。年份中为中文小写数字,年份中的“0”写作“十”。如“二十十十/1/1”或“贰拾拾拾/1/1”=2001/1/1,。“二零一零/1/1”或“二〇一〇/1/1”返回错误提示
  • 3、中文大小写在月份或日期中混杂时将返回错误值。如“2010/十贰/十五”返回错误提示。
  • 4、当“格式”下拉列表框中选择“英国(美国)”时,以上查询将返回错误提示。

ISDATE

ISDATE(Expression),Expression表示在100年和9999年之间的日期或时间。如果可以转换成日期则返回值为true,结果为-1.否则为false,结果为0.

FORMATDATETIME

FORMATDATETIME函数将文本型日期转换为日期值

FORMAT函数

select 序号,项目名称,format(开始时间) as 开始日期,format(结束时间) as 结束日期 from [项目进度一览表$]

注意,FORMAT和FORMATDATETIME返回的数据类型均为文本型,如果要返回项目周期这种,就需要用CDATE函数转换为日期型数据后参与运算。

select 序号,项目名称,formatdatetime(开始日期) as 开始日期,formatdatetime(结束时间) as 结束日期,CDATE(FORMATDATETIME(结束时间))-CDATE(FORMATDATETIME(开始时间)) AS 项目周期 FROM [项目进度一览表$] 

SELECT 序号,项目名称,FORMAT(开始时间) AS 开始日期,FORMAT(结束时间) AS 结束日期,CDATE(FORMAT(结束时间))-CDATE(FORMAT(开始时间)) AS 项目周期 FROM [项目进度一览表$]

当仅需要返回项目周期时,可以这样写

SELECT 序号,项目名称,CDATE(结束时间)-CDATE(开始时间) AS 项目周期 FROM [项目进度一览表$]

你可能感兴趣的:(EXCEL-SQL笔记)