 |
|
สอบถาม SQL BETWEEN ผมเลือกวันที่ข้ามเดือนไม่ได้ เลือกแล้วข้อมูลมันไม่ออก |
|
 |
|
|
 |
 |
|
สอบถาม SQL BETWEEN ผมเลือกวันที่ข้ามเดือนไม่ได้ เลือกแล้วข้อมูลมันไม่ออก
มันเลือกได้เฉพาะ 1 - 31 ของแต่ละเดือน มันต้องเพิ่ม Code ไรไหมคับ
Code (VB.NET)
sql = "SELECT dbo.BCStkIssueSub.DocNo, "
sql &= " dbo.BCStkIssueSub.Price, dbo.BCStkIssueSub.JobNo, "
sql &= " dbo.BCFinishGoodsSub.ItemCode, dbo.BCFinishGoodsSub.ItemName, "
sql &= " dbo.BCFinishGoodsSub.WHCode, dbo.BCFinishGoodsSub.Qty, dbo.BCFinishGoodsSub.Cost, dbo.BCFinishGoodsSub.Amount, "
sql &= " dbo.BCFinishGoodsSub.JobNo, dbo.BCFinishGoodsSub.unitname, dbo.BCFinishGoodsSub.sum_qfeet, "
sql &= " dbo.BCFinishGoodsSub.sum_Amount "
sql &= " FROM dbo.BCFinishGoodsSub INNER JOIN"
sql &= " dbo.BCStkIssueSub ON dbo.BCFinishGoodsSub.DocNo = dbo.BCStkIssueSub.DocNo AND dbo.BCFinishGoodsSub.JobNo = dbo.BCStkIssueSub.JobNo"
sql &= " where convert(VARCHAR, BCStkIssueSub.DocDate, 103) between '" & selectday3 & "' AND '" & selectday4 & "'AND BCStkIssueSub.sum_Amount != ''"
ตรง Where ต้องเพิ่มไรเหรอคับ
Tag : .NET, Ms SQL Server 2005, Web (ASP.NET), VB.NET
|
ประวัติการแก้ไข 2015-02-02 10:05:01
|
 |
 |
 |
 |
Date :
2015-02-02 10:04:17 |
By :
TheCom |
View :
1479 |
Reply :
12 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
น่าจะเป็น format ของวันที่ ควรจะใช้ yyyy-mm-dd
|
 |
 |
 |
 |
Date :
2015-02-02 10:41:14 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลอง excuted ใน Ms SQL Server 2005 ดูยังครับว่า syntex ที่ใช้ถูกป่าว
Ms SQL Server จะแจ้ง err ให้ครับ
   
|
 |
 |
 |
 |
Date :
2015-02-02 10:59:43 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าวันที่หลัง AND มันน้อยกว่าจะแสดงออกมาได้ก็คงแปลกแล้วล่ะครับ
|
 |
 |
 |
 |
Date :
2015-02-02 11:36:25 |
By :
Tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ต้องเพิ่มหรือเขียน Code ไงเหรอคับ
|
 |
 |
 |
 |
Date :
2015-02-02 11:39:52 |
By :
TheCom |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
between StartDate And EndDate
StartDate ต้องน้อยกว่าหรือเท่ากับ EndDate เสมอ
|
ประวัติการแก้ไข 2015-02-02 22:06:40
 |
 |
 |
 |
Date :
2015-02-02 11:44:49 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แต่ผมใส่ วันที่ 30/01/2015 กะ 01/02/2015 ก็ไม่ขึ้นนะ หรือว่าคนละเดือนก็ไม่ได้
where convert(VARCHAR, BCStkIssueSub.DocDate, 103) between '30/01/2015' AND '01/02/2015'
|
ประวัติการแก้ไข 2015-02-02 12:55:50
 |
 |
 |
 |
Date :
2015-02-02 12:55:31 |
By :
TheCom |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เหมือน format มันจะไม่ได้เอาวันที่ขึ้นก่อน
ลอง
between '01/30/2015' AND '02/01/2015'
หรือ
between '2015/01/30' AND '2015/02/01'
ความจริงควรจัด format ตามที่ท่าน Chaidhanan บอกครับ
|
 |
 |
 |
 |
Date :
2015-02-02 13:17:06 |
By :
lamaka.tor |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าใช้ convert VARCHAR มันจะเปลี่ยนเป็นตัวหนังสือน่ะครับ
ไม่ได้นับเป็นแบบวันที่
ถ้าข้อมูลเป็นในรูปแบบวันที่อยู่แล้ว ไม่ต้อง convert ครับ
รูปแบบวันที่ผมใช้ yyyy-MM-dd เสมอครับ
where BCStkIssueSub.DocDate between '2015-01-31' AND '2015-02-01'
|
 |
 |
 |
 |
Date :
2015-02-02 14:14:25 |
By :
fonfire |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (VB.NET)
sql &= " where Cast( '" & Format(selectday3,"MM/dd/yyyy") & "' as date) >= CAST(BCStkIssueSub.DocDate AS DATE) AND CAST(BCStkIssueSub.DocDate AS DATE) <= Cast('" & Format(selectday4,"MM/dd/yyyy") & "' as date)"
|
ประวัติการแก้ไข 2015-02-02 21:27:37
 |
 |
 |
 |
Date :
2015-02-02 21:26:46 |
By :
deksoke |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณคับทุกความคิดเห็นคับ ได้ละคับ
|
 |
 |
 |
 |
Date :
2015-02-03 11:11:47 |
By :
TheCom |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|