DateSerial in SQL Server
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 248   1
URL.หัวข้อ / URL
DateSerial in SQL Server


IF object_ID('dbo.DateSerial') is not null
DROP FUNCTION DateSerial
GO

CREATE FUNCTION DateSerial(
@Year varchar(4)
, @Month varchar(2)
, @Day varchar(2))
RETURNS datetime
AS
BEGIN
declare @Date datetime
select @Date = convert(datetime, @Year + '/' + @Month + '/' + @Day)
return @Date
END
GO

การเรียกใช้งาน

select dbo.DateSerial('2003','10','22')

1 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R05261
การใช้ DateAdd() และ DatePart() ใน SQL Server เพื่อกรองข้อมูลของเดือนที่แล้ว โดยเทียบกับวันที่ปัจจุบัน

การใช้ DateAdd() เพื่อหาวันนี้ของเดือนที่แล้ว

select dateadd("mm",-1,getdate())

จะได้เดือนที่ผ่านมา ตรงนี้จะทำให้ไม่ว่าเดือนปัจจุบันจะเป็นเดือน มกราคม ปี 2003 เดือนก่อนหน้านั้นจะเป็น ธันวาคม 2002

จากนั้นก็จะใช้ DatePart() เพื่อหาหมายเลข เดือน และ ปี ออกมา
ก็จะได้ เดือน 12 และปี 2002

เมื่อนำมาเขียนเป็น SQL จะได้

Select ข้อมูลที่ต้องการ From ตารางเป้าหมาย Where เดือนของข้อมูล = เดือน(ของเดือนการคำนวณวันที่ปัจจุบัน - 1) AND ปีของข้อมูล = ปี (ของเดือนการคำนวณวันที่ปัจจุบัน - 1)

นี่คือตัวอย่าง SQL ที่เลือกข้อมูลของเดือนที่แล้ว

select qnumber, qdate
from question
where datepart("mm",qdate) = datepart("mm",dateadd("mm",-1,getdate()))-1
and datepart("yy",qdate) = datepart("yy",dateadd("mm",-1,getdate()))
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0460s