簡體   English   中英

SQL:如何比較nvarchar數據類型內的日期值

[英]SQL: how to compare date values within nvarchar datatypes

我如何建立這樣的查詢語句:

select * from men where Tdate between 01/01/01 and 02/02/02

Tdate列的類型為nvarchar

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

謝謝

SELECT 
  * 
FROM
  men 
WHERE
  CONVERT(DATETIME, Tdate) BETWEEN '01/01/01' and '02/02/02'

它取決於日期格式和當前的DATEFORMAT ,以確定CONVERT()是否起作用。

建議將列轉換為實際的DATETIME數據類型。

您可能正在nvarchar列的WHERE子句中尋找CASTCONVERT語句。

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'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM