ส่งกลับ ตัวแปร (จำนวนเต็ม) ที่มีส่วนที่ระบุของวันที่ระบุ
คำเตือน มีปัญหากับการใช้ฟังก์ชันนี้ วันจันทร์สุดท้ายในบางปีปฏิทินสามารถถูกส่งกลับเป็นสัปดาห์ 53 เมื่อควรเป็นสัปดาห์ที่ 1 สําหรับข้อมูลเพิ่มเติมและวิธีแก้ไขปัญหาชั่วคราว ให้ดูที่ ฟังก์ชัน Format หรือ DatePart สามารถส่งกลับจํานวนสัปดาห์ที่ไม่ถูกต้องสําหรับวันจันทร์สุดท้ายในปี |
ไวยากรณ์
DatePart ( interval, date [, firstdayofweek] [, firstweekofyear] )
ไวยากรณ์ของฟังก์ชัน DatePart มีอาร์กิวเมนต์ดังนี้
อาร์กิวเมนต์ |
คำอธิบาย |
ช่วงเวลา |
จำเป็น นิพจน์สตริงที่เป็นช่วงของเวลาที่คุณต้องการส่งกลับ |
date |
จำเป็น ค่าตัวแปร (วันที่) ที่คุณต้องการประเมิน |
วันแรกของสัปดาห์ |
ไม่จำเป็น ค่าคงที่ ที่ระบุวันแรกของสัปดาห์ ถ้าไม่ระบุ จะถือว่าเป็นวันอาทิตย์ |
สัปดาห์แรกของปี |
ไม่จำเป็น ค่าคงที่ที่ระบุสัปดาห์แรกของปี ถ้าไม่ได้ระบุไว้ จะถือว่าสัปดาห์แรกเป็นสัปดาห์ที่มีวันที่ 1 มกราคม |
การตั้งค่า
อาร์กิวเมนต์ ช่วงเวลา มีการตั้งค่าเหล่านี้:
การตั้งค่า |
คำอธิบาย |
yyyy |
ปี |
q |
ไตรมาส |
m |
เดือน |
y |
วันของปี |
d |
วัน |
w |
วันทำงาน |
ww |
สัปดาห์ |
h |
ชั่วโมง |
n |
นาที |
s |
วินาที |
อาร์กิวเมนต์ วันแรกของสัปดาห์ มีการตั้งค่าเหล่านี้:
ค่าคงที่ |
ค่า |
คำอธิบาย |
vbUseSystem |
0 |
ใช้การตั้งค่า NLS API |
vbSunday |
1 |
วันอาทิตย์ (ค่าเริ่มต้น) |
vbMonday |
2 |
วันจันทร์ |
vbTuesday |
3 |
วันอังคาร |
vbWednesday |
4 |
วันพุธ |
vbThursday |
5 |
วันพฤหัสบดี |
vbFriday |
6 |
วันศุกร์ |
vbSaturday |
7 |
วันเสาร์ |
อาร์กิวเมนต์ สัปดาห์แรกของปี มีการตั้งค่าเหล่านี้:
ค่าคงที่ |
ค่า |
คำอธิบาย |
vbUseSystem |
0 |
ใช้การตั้งค่า NLS API |
vbFirstJan1 |
1 |
เริ่มต้นด้วยสัปดาห์ที่มีวันที่ 1 มกราคม (ค่าเริ่มต้น) |
vbFirstFourDays |
2 |
เริ่มต้นด้วยสัปดาห์แรกที่มีอย่างน้อยสี่วันในปีใหม่ |
vbFirstFullWeek |
3 |
เริ่มต้นด้วยสัปดาห์เต็มสัปดาห์แรกของปี |
ข้อสังเกต
คุณสามารถใช้ฟังก์ชัน DatePart เพื่อประเมินวันที่และส่งกลับช่วงเวลาที่ระบุได้ ตัวอย่างเช่น คุณอาจใช้ DatePart เพื่อคํานวณวันของสัปดาห์หรือชั่วโมงปัจจุบัน
อาร์กิวเมนต์ วันแรกของสัปดาห์ มีผลต่อการคํานวณที่ใช้สัญลักษณ์ช่วงเวลา "w" และ "ww"
ถ้า date เป็น สัญพจน์วันที่ ปีที่ระบุจะกลายเป็นส่วนถาวรของวันที่นั้น อย่างไรก็ตาม ถ้า วันที่ อยู่ในเครื่องหมายอัญประกาศคู่ (" ") และคุณละเว้นปี ปีปัจจุบันจะถูกแทรกลงในโค้ดของคุณทุกครั้งที่นิพจน์ วันที่ ถูกประเมิน สิ่งนี้ทําให้สามารถเขียนรหัสที่สามารถใช้ในปีที่แตกต่างกันได้
หมายเหตุ: สําหรับ วันที่ ถ้าการตั้งค่าคุณสมบัติ ปฏิทิน เป็น คริสต์ศักดิก ถ้าปฏิทินเป็นฮิจเราะห์ วันที่ที่ระบุต้องเป็นฮิจเราะห์
ส่วนของวันที่ที่ส่งคืนจะอยู่ในหน่วยช่วงเวลาของปฏิทินอาหรับปัจจุบัน ตัวอย่างเช่น ถ้าปฏิทินปัจจุบันคือฮิจเราะห์และส่วนของวันที่ที่จะส่งกลับคือปี ค่าปีจะเป็นปีฮิจเราะห์
ตัวอย่างคิวรี
Expression |
ผลลัพธ์ |
SELECT DatePart("yyyy",[DateofSale]) AS NewDate FROM ProductSales; |
ส่งกลับ 'ปี' ของค่าวันที่ของเขตข้อมูล "DateofSale" |
SELECT DatePart("q",[DateofSale]) AS NewDate FROM ProductSales; |
ส่งกลับ 'ไตรมาส' (ยึดตามปีปฏิทิน) ของค่าวันที่ของเขตข้อมูล "DateofSale" |
SELECT DatePart("y",[DateofSale]) AS NewDate FROM ProductSales; |
ส่งกลับ 'วันของปี' (1 ถึง 365) ของค่าวันที่ของเขตข้อมูล "DateofSale" |
SELECT DatePart("d",[DateofSale]) AS NewDate FROM ProductSales; |
ส่งกลับ 'วัน' ของค่าวันที่ของเขตข้อมูล "DateofSale" |
SELECT DatePart("w",[DateofSale]) AS NewDate FROM ProductSales; |
ส่งกลับ 'วันทํางาน' (ตั้งแต่ 1 ถึง 7 ที่ 1 แสดงถึงวันอาทิตย์) ของค่าวันที่ของเขตข้อมูล "DateofSale" |
SELECT DatePart("ww",[DateofSale]) AS NewDate FROM ProductSales; |
ส่งกลับ 'จํานวนสัปดาห์' (จาก 1 ถึง 52) ของค่าวันที่ของเขตข้อมูล "DateofSale" |
SELECT DatePart("h",[DateTime]) AS NewDate FROM ProductSales; |
ส่งกลับ 'ชั่วโมง' ของค่าวันที่ของเขตข้อมูล "DateTime" |
SELECT DatePart("n",[DateTime]) AS NewDate FROM ProductSales; |
ส่งกลับ 'นาที' ของค่าวันที่ของเขตข้อมูล "DateTime" |
SELECT DatePart("s",[DateTime]) AS NewDate FROM ProductSales; |
ส่งกลับ 'วินาที' ของค่าวันที่ของเขตข้อมูล "DateTime" |
ตัวอย่าง VBA
หมายเหตุ: ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงสําหรับนักพัฒนา ในรายการดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา
ตัวอย่างนี้จะใช้วันที่ และใช้ฟังก์ชัน DatePart แสดงไตรมาสของปีที่เกิดขึ้น
Dim TheDate As Date ' Declare variables.
Dim Msg TheDate = InputBox("Enter a date:") Msg = "Quarter: " & DatePart("q", TheDate) MsgBox Msg