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/25.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 如何将nvarchar转换为datetime,而无需在查询中附加select返回?_Sql_Sql Server_Tsql_Sql Server 2012 - Fatal编程技术网

Sql 如何将nvarchar转换为datetime,而无需在查询中附加select返回?

Sql 如何将nvarchar转换为datetime,而无需在查询中附加select返回?,sql,sql-server,tsql,sql-server-2012,Sql,Sql Server,Tsql,Sql Server 2012,我有一个sql查询: declare @x nvarchar(50) = '2011-11-11' select convert(datetime, @x) SELECT * FROM T WHERE dt > @x 但不幸的是,当我只需要一个结果时,它会返回两个结果,那么如何避免在查询结果中使用nvarchar转换为datetime结果呢?解决方案: declare @x nvarchar(50) SET @x = '2006-11-11' SELECT dt FROM T

我有一个sql查询:

declare @x nvarchar(50) = '2011-11-11'
select convert(datetime, @x)

SELECT * FROM T
    WHERE dt > @x
但不幸的是,当我只需要一个结果时,它会返回两个结果,那么如何避免在查询结果中使用nvarchar转换为datetime结果呢?

解决方案:

declare @x nvarchar(50)
SET @x = '2006-11-11'

SELECT dt FROM T WHERE dt >  convert(datetime, @x)
问候

阿里·穆罕默德

请注意,这将根据服务器设置或登录设置给出不同的结果。为什么不将@x声明为datetime='20111101'