You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Oracle迁移至SQL Server:求SSMS查询中变量赋值示例

嘿,我太懂从Oracle转SQL Server时遇到语法差异的那种别扭感了!变量赋值这块确实是个常见的小坑,我给你写个SSMS里的简单示例,完美匹配你的需求——在查询开头定义好@date1,后面直接引用,以后要改日期只需要动顶部这一处就行,不用到处找引用的地方。

SSMS中定义并复用变量的完整示例

在SQL Server里,你需要用DECLARE声明变量,然后用SET或者直接赋值的方式给变量设值,之后就能在查询里随意引用了。这里是具体代码:

-- 先在查询最顶部声明并赋值变量@date1,改日期只动这里
DECLARE @date1 DATE = '2024-05-20';

-- 接下来的查询直接引用变量就行
SELECT *
FROM your_table -- 替换成你的实际表名
WHERE date_column = @date1; -- 替换成表中实际的日期列名

如果习惯分开声明和赋值,也可以这么写:

DECLARE @date1 DATE;
SET @date1 = '2024-05-20';

SELECT *
FROM your_table
WHERE date_column = @date1;

给你几个小提醒:

  • SQL Server的变量必须以@开头,这和Oracle用冒号:的写法不一样,别搞混了
  • 日期、字符串类型的变量值记得加单引号,数值类型不用
  • 要是需要定义多个变量,直接在DECLARE里用逗号分隔就行,比如:
    DECLARE @startDate DATE = '2024-01-01', @endDate DATE = '2024-05-20';
    

内容的提问来源于stack exchange,提问作者Becky Purland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:33:34