Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sql日期字段中以字符串形式传递日期并选择数据where子句_Sql_Sql Server - Fatal编程技术网

如何在sql日期字段中以字符串形式传递日期并选择数据where子句

如何在sql日期字段中以字符串形式传递日期并选择数据where子句,sql,sql-server,Sql,Sql Server,我的问题是:我试图选择日期为表达式的数据 例如: select * from cutting where cut_date = 14-07-2017 但它显示了一个错误: 操作数类型冲突:日期与int不兼容 在SQL Server中 请帮助我,我只是在学习SQL的基础知识 谢谢。您需要用括起日期。: select * from cutting where cut_date ='14-07-2017' 或者更好的方法是自己设置日期格式: select * from cutting whe

我的问题是:我试图选择日期为表达式的数据

例如:

select * 
from cutting 
where cut_date = 14-07-2017
但它显示了一个错误:

操作数类型冲突:日期与int不兼容

在SQL Server中

请帮助我,我只是在学习SQL的基础知识

谢谢。

您需要用
括起日期。

 select * from cutting where cut_date ='14-07-2017'
或者更好的方法是自己设置日期格式:

select * from cutting where CONVERT(VARCHAR(10),cut_date,10) = '2017-07-14'
或:


SQL DATETIME格式:YYYY-MM-DD HH:MI:SS

where
条款中的日期替换为“YYYY-MM-DD”格式


谢谢你的回复,但我也试过了,但下面显示了一个错误:从字符串转换日期和/或时间时,转换失败。你确定,但接受你的答案的时间还没有结束,谢谢again@marc_s谢谢你的评论。我从回答中删除了该行。在sql中,不应使用大写字母“Y”和“D”进行格式设置,格式字符串为“yyyy-MM-dd”,这将适用于从剪切位置选择*格式(剪切日期,“yyyy-MM-dd”)='2017-07-14'SQL Server不保留任何特定字符串格式的
DATETIME
列-
DATETIME
是SQL Server中的8字节二进制值。可用于任何语言/区域设置的字符串文本日期的首选格式是修改后的ISO-8601格式:
YYYYMMDD
(无破折号,无任何内容!)
select * from cutting where FORMAT(cut_date,'yyyy-MM-dd') = '2017-07-14' 
select * 
from cutting 
where cut_date = "2017-07-14"