作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面的脚本(fx 是 SQL Server 的表):
LIBNAME SQL ODBC DSN='sql server' ;
DATA new;
SET SQL.fx;
WHERE repo_date = '2016-04-29 00:00:00.000';
RUN;
PROC PRINT DATA=new;
RUN;
返回一个错误(在 SAS 日志中):
191 WHERE repo_date = '2016-04-29 00:00:00.000';
ERROR: WHERE clause operator requires compatible variables.
192 RUN;
我在哪里可以检查我需要哪种数据转换(在这种情况下和其他情况下)?
在 SQL Server 2008R2 中,repo_date 是一个datetime列。
最佳答案
您正在将字符串与数值进行比较。所以你的 datetime-format 是错误的(就像 Heinzi 提到的那样),你还必须将它转换为 datetime 值(通过在末尾添加一个 dt)
工作应该是这样的:
WHERE repo_date ='29APR2016 00:00:00.000'dt;
如果repo_time是datetime,时间不相关,可以直接比较日期:
WHERE datepart(repo_date) = '29APR2016'd;
关于sql-server - WHERE 子句运算符需要兼容的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37547500/
我是一名优秀的程序员,十分优秀!