ถ้าข้อมูลที่เป็น NVarchar อยู่ในรูปของวันที่เราสามารถใช้ SQL ดึงข้อมูลออกมาเป็นได้เลยว่าต่างกันกี่วันโดยใช้ฟังขั่น DATEDIFF() ใน SQL
โดยฟังชั่นนี้มีรูปแบบคือ DATEDIFF(<datepart>, <startdate>, <enddate>)
โดยที่ datepart คือหน่วยของเวลาที่จะลบ เช่น ชั่วโมง-hour, วัน-day, สัปดาห์-week
สมมติผมมี table1 จะดึงข้อมูลจำนวนวันที่ต่างในคอลัมน์ adate กับปัจจุบัน เราจะได้ คำสั่ง SELECT คือ
select datediff(day,adate,getdate()) from table1
ตัวอย่างการใช้งานใน C# เอาข้อมูลไปใส่ใน dataGridView
string strQuery = "select datediff(day,adate,getdate()) from table1"
string strConn = @"Data Source=yourserver;Initial Catalog=yourdatabase;Integrated Security=True";
SqlCommand Comm = new SqlCommand(strQuery, strConn);
SqlDataAdapter da = new SqlDataAdapter(Comm);
DataSet ds = new DataSet();
da.Fill(ds, "table1");
dataGridView1.DataSource = ds.Tables["table1"];
*ข้อควรระวัง ใน SQL วันที่มักจะอยู่ในรูป เดือน/วัน/ปี เช่น 09/15/2008 ก็คือ วันที่ 15 เดือนกันยายน ปี2008 เช็คให้ดีนะครับ