MS-access 直通查询到 SQL Server 2008 添加前缀

Posted

技术标签:

【中文标题】MS-access 直通查询到 SQL Server 2008 添加前缀【英文标题】:MS-access Pass-Through Query to SQL Server 2008 Adding Prefix 【发布时间】:2018-08-10 09:00:44 【问题描述】:

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

我有一个选择查询,其中包含将日期转换为财政年度的行,即 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 上运行的。我已经研究过,到目前为止还没有提出任何解决方案。

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

【问题讨论】:

【参考方案1】:

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

因为有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)
   ),

【讨论】:

感谢您的帮助,安德烈,辛苦了。非常感谢

以上是关于MS-access 直通查询到 SQL Server 2008 添加前缀的主要内容,如果未能解决你的问题,请参考以下文章

MS-Access:SQL JOIN 和 INSERT INTO 与 WHERE 慢

在 sql (MS-Access) 中编写分组查询

使用 SQL 在 Ms-access 查询中运行 Total

库存 SQL 查询出现歧义错误,其中两个字段应相等以进行计算。 MS-ACCESS

为啥 MS-Access 中的 Teradata 查询比 SQL Server 更快

sql serve数据库中对in查询到的数据排序