通过运行 SQL 查询在 MS Access 2012 上更改年份日期格式的错误
Posted
技术标签:
【中文标题】通过运行 SQL 查询在 MS Access 2012 上更改年份日期格式的错误【英文标题】:error of change a year date format on MS Access 2012 by running a SQL query 【发布时间】:2014-10-13 16:40:30 【问题描述】:我正在 win 7 上开发 Access 2012。 在表格中,我需要将年份日期格式从“1-Jan-06”更改为 2006,从“1-Jan-90”更改为 1990。我只需要年份。
这是我的查询
SELECT *,
CASE
WHEN CAST(right(year_date,2) , INT) <= 12
THEN 2000 + CAST(right(year_date,2) , INT)
ELSE 1900 + CAST(right(year_date,2) , INT)
END
FROM my_table;
我收到错误:
'CASE -- END' 的查询表达式中存在语法错误(缺少运算符)。
【问题讨论】:
Does MS Access support "CASE WHEN" clause if connect with ODBC? 的可能重复项 【参考方案1】:Access SQL 不支持CASE WHEN
或CAST
。
在 Access 中,您可以使用 IIf()
和 CInt()
执行您对 CASE WHEN
和 CAST
的预期操作。
SELECT
IIf(CInt(Right(year_date, 2)) <= 12, 2000, 1900)
+ CInt(Right(year_date, 2))
FROM my_table;
【讨论】:
以上是关于通过运行 SQL 查询在 MS Access 2012 上更改年份日期格式的错误的主要内容,如果未能解决你的问题,请参考以下文章
MS Access 2007 查询不在 SQL Server 2008 上运行
通过 ODBC 连接到 SQL Server 的 Access 中的 MS SQL 查询
ODBC 查询在 MS Access 中有效,但在 SQL Server 中超时