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'