Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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数据类型中的日期值_Sql_Sql Server_Tsql - Fatal编程技术网

SQL:如何比较nvarchar数据类型中的日期值

SQL:如何比较nvarchar数据类型中的日期值,sql,sql-server,tsql,Sql,Sql Server,Tsql,如何构建这样的查询语句: select * from men where Tdate between 01/01/01 and 02/02/02 Tdate列的类型为nvarchar 我正在使用SQL Server Compact Edition(sqlCE) 谢谢 它取决于日期格式和当前日期CONVERT()是否有效 建议将列转换为实际的日期时间数据类型 它取决于日期格式和当前日期CONVERT()是否有效 建议将列转换为实际的日期时间数据类型。您可能在nvarchar列的WHERE子句中查

如何构建这样的查询语句:

select * from men where Tdate between 01/01/01 and 02/02/02
Tdate
列的类型为
nvarchar

我正在使用SQL Server Compact Edition(sqlCE)

谢谢

它取决于日期格式和当前日期
CONVERT()
是否有效

建议将列转换为实际的日期时间数据类型

它取决于日期格式和当前日期
CONVERT()
是否有效


建议将列转换为实际的日期时间数据类型。

您可能在
nvarchar
列的WHERE子句中查找
CAST
convert
语句

SELECT * 
FROM Men 
WHERE CAST(Tdate AS Datetime) 
BETWEEN '01/01/09' and '02/02/09'
以下是概念证明:

declare @sample table
(
   TDate nvarchar(100)
)

Insert into @sample (TDate )  --yes, this INSERT work on SQL 2008 only :)
Values ('jan 1 2009'),('jan 10 2009'), ('feb 8 2009'),('feb 12 2009')

SELECT * 
FROM @sample 
WHERE CAST(Tdate AS Datetime) BETWEEN '01/01/09' AND '02/10/09'

您可能在
nvarchar
列的WHERE子句中查找
CAST
CONVERT
语句

SELECT * 
FROM Men 
WHERE CAST(Tdate AS Datetime) 
BETWEEN '01/01/09' and '02/02/09'
以下是概念证明:

declare @sample table
(
   TDate nvarchar(100)
)

Insert into @sample (TDate )  --yes, this INSERT work on SQL 2008 only :)
Values ('jan 1 2009'),('jan 10 2009'), ('feb 8 2009'),('feb 12 2009')

SELECT * 
FROM @sample 
WHERE CAST(Tdate AS Datetime) BETWEEN '01/01/09' AND '02/10/09'