从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
相关产品推荐
相关产品推荐

