需要在查询中查找和替换文本

问题描述 投票:0回答:1

我有一个很长的查询,其中包含多个日期变量,这些日期变量设置为拉动动态日期范围(上个月,前一天等)。

这在向前移动的基础上运行良好,但我需要对报告进行一次性历史回填,这意味着我将需要在20-40个之前的时间段内运行查询。

这是一个非常长的查询,但它反复使用大约3个动态日期变量。我正试图找到一种方法来寻找和替换类似的东西

DATEADD(month, DATEDIFF(month, -1, getdate()) - 2, 0)

'2019-02-01 00:00:00'

但我似乎无法在SSMS中这样做。

我已经尝试过复制和粘贴到word,excel等等但是我遇到的问题是我的直线引号被转换为“智能引号”。我关闭了自动格式化设置会影响到这一点,但仍然存在问题。

有一个更好的方法吗?或者我错过了什么?

我知道一揽子“查找和替换”操作通常不是一个好主意,但由于数据库和查询的结构/权限,这确实是最好/最快的解决方案。

sql sql-server replace find
1个回答
0
投票

这将工作:

 CONVERT(VARCHAR(19), DATEADD(month, DATEDIFF(month, -1, getdate()) - 3, 0), 
 120)

检查http://sqlfiddle.com/#!18/9eecb/41922

© www.soinside.com 2019 - 2024. All rights reserved.