首页 > 解决方案 > MS-access 直通查询到 SQL Server 2008 添加前缀

问题描述

我希望有人能以此为我指明正确的方向。我对使用直通查询相对较新,但认为我掌握了基础知识,但是在尝试为查询结果添加前缀时遇到了一个绊脚石

我有一个选择查询,其中包含将日期转换为财政年度的行,即 01/01/2018 将使用以下代码返回 2017 作为结果:

    [Created FY] = (CASE WHEN Month(create_date) IN (1, 2, 3) THEN DatePart(year,create_date)-1 ELSE DatePart(year,create_date) END),

我想在结果中添加一个前缀,以便它读取 FY2017。传递是在 SQL Server 2008 上运行的。我已经研究过,到目前为止还没有提出任何解决方案。

对于这个难题的任何帮助将不胜感激。

标签: sql-server-2008ms-accesspass-through

解决方案


+连接字符串,但必须先转换数字。

因为有一个MONTH()函数,所以有YEAR(), 来简化代码。

所以:

[Created FY] = 'FY' + CONVERT(char(4),
    (CASE WHEN MONTH(create_date) IN (1, 2, 3) 
     THEN YEAR(create_date)-1 
     ELSE YEAR(create_date) END)
   ),

推荐阅读