我正在尝试在 MS Access 选择查询中使用 DatePart() 从最初采用字符串形式的日期中提取月份和年份(作为数字)
“YYYY-MM-DD HH:NN:SS.0000000”
其他人编写的初始代码是这样的:
DatePart("m", date)
DatePart("yyyy", date)
但这导致查询运行时出现“数据类型,条件不匹配”错误,因此我尝试使用 Cdate() 将字符串转换为日期类型。
DatePart("m", Cdate(date))
DatePart("yyyy", Cdate(date))
但是这并没有解决问题。我想知道我的初始日期字符串是否不是 Cdate() 可以转换的形式,或者是否有更简单的方法从日期字符串(例如我的)中提取部分数字日期。
我准备进一步详细说明情况,以防这个问题不完整,但我不希望超出自己。
最佳答案
那些额外的零将是一个问题,你可以说要去掉它们
CDate(Mid(sdate, 1, InStr(sdate, ".") - 1))
然后
DatePart("m", CDate(Mid(sdate, 1, InStr(sdate, ".") - 1)))
但是,您可能会发现仅引用字符串的相应部分会更方便:
aYr = Left(sdate,4)
aMnth = Mid(sdate,6,2)
关于select - MS access 选择查询中使用 DatePart 进行数据转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14864577/