206 个问题
你好,
为什么会出现不同呢?
Print输出的结果是字符串或 Unicode 字符串常量,所以当你的变量类型是DTAETIME时,将转化成文本类型显示出来。
你可以试试将@DATE
定义为varchar类型,这样子的话两者就会返回一样的值了。
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。
正在尝试写一个存储过程,但是发现一个问题如下:
DECLARE @Year INT;
DECLARE @Month INT;
DECLARE @DATE DATETIME;
SET @Year = 2024;
SET @Month = 12;
SET @DATE = FORMAT(DATEFROMPARTS(@Year, @Month, 1), 'yyyy-MM-ddTHH:mm:ss.fff');
PRINT @DATE;
SELECT @DATE;
Print的结果是12 1 2024 12:00AM
,而Select的结果是我想要的格式2024-12-01 00:00:00.000
。
我是觉得两者返回的结果应该是一样的才对,为什么会出现不同呢?还是说是出现bug了吗?