พิมพ์      เปิดเวอร์ชัน PDF ของวิธีใช้แบบออนไลน์


หัวข้อก่อนหน้า

หัวข้อถัดไป

ฟังก์ชันวันที่/เวลาของปฏิทิน

ฟังก์ชันวันที่/เวลาของปฏิทินจะจัดการข้อมูลในประเภทวันที่ เวลา และเวลาที่ลงไว้ (ประเภทข้อมูล เวลาที่ลงไว้ คือการรวมกันของวันที่และเวลา)

ฟังก์ชันวันที่ทั้งหมดตรงตามมาตรฐาน ISO 8601 ซึ่งมีผลอย่างยิ่งกับฟังก์ชันจำพวก Week_Of_Year และ Week_Of_Quarter ซึ่งสัปดาห์เริ่มต้นของปีจะเป็นสัปดาห์เต็มสัปดาห์แรกที่มีวันพฤหัสบดี สำหรับข้อมูลที่ให้รายละเอียดเพิ่มเติมในวิธีการคำนวณฟังก์ชันวันที่ โปรดดูมาตรฐาน ISO 8601

Current_Date

ส่งคืนวันที่ปัจจุบัน วันที่ถูกกำหนดโดยระบบที่ Oracle CRM On Demand Answers กำลังรันอยู่ ค่านี้จะไม่มีส่วนประกอบของเวลาอยู่ด้วย

Syntax:

CURRENT_DATE

Current_Time

ส่งคืนเวลาปัจจุบัน เวลาถูกกำหนดโดยระบบที่ Oracle CRM On Demand Answers กำลังรันอยู่ ค่านี้จะไม่มีส่วนประกอบของวันที่อยู่ด้วย

หมายเหตุ: ฟังก์ชันนี้แสดงเวลาปัจจุบันขณะรันรายงาน เมื่อใช้ฟังก์ชันนี้กับหัวข้อการวิเคราะห์จะป้องกันไม่ให้เกิดการแคชที่ทำให้ประสิทธิภาพลดลง

Syntax:

CURRENT_TIME (n)

โดยที่:

n

จำนวนเต็มใดๆ ซึ่งแทนจำนวนหลักของจุดทศนิยมที่แสดงเป็นเศษส่วนของวินาที อาร์กิวเมนต์นี้สามารถเลือกได้ ฟังก์ชันนี้จะส่งคืนตำแหน่งทศนิยมที่เป็นค่าดีฟอลต์เมื่อไม่มีการระบุอาร์กิวเมนต์

Current_TimeStamp

ส่งคืนเวลาที่ลงไว้ปัจจุบัน เวลาที่ลงไว้ถูกกำหนดด้วยระบบที่ Oracle CRM On Demand Answers กำลังรันอยู่

หมายเหตุ: ฟังก์ชันนี้แสดงเวลาปัจจุบันขณะรันรายงาน เมื่อใช้ฟังก์ชันนี้กับหัวข้อการวิเคราะห์จะป้องกันไม่ให้เกิดการแคชที่ทำให้ประสิทธิภาพลดลง

Syntax:

CURRENT_TIMESTAMP (n)

โดยที่:

n

จำนวนเต็มใดๆ ซึ่งแทนจำนวนหลักของจุดทศนิยมที่แสดงเป็นเศษส่วนของวินาที อาร์กิวเมนต์นี้สามารถเลือกได้ ฟังก์ชันนี้จะส่งคืนตำแหน่งทศนิยมที่เป็นค่าดีฟอลต์เมื่อไม่มีการระบุอาร์กิวเมนต์

Day_Of_Quarter

ส่งคืนตัวเลข (ระหว่าง 1 ถึง 92) ตามวันของไตรมาสของวันที่ที่ระบุ

Syntax:

DAY_OF_QUARTER (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

DayName

ส่งคืนชื่อของวันในสัปดาห์ (เป็นภาษาอังกฤษ) ของวันที่ที่ระบุ

Syntax:

DAYNAME (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

DayOfMonth

ส่งคืนตัวเลขตามวันของเดือนสำหรับวันที่ที่ระบุ

Syntax:

DAYOFMONTH (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

DayOfWeek

ส่งคืนตัวเลข 1 ถึง 7 ตามวันของสัปดาห์สำหรับวันที่ที่ระบุ โดยที่เลข 1 หมายถึงวันอาทิตย์ และเลข 7 หมายถึงวันเสาร์

Syntax:

DAYOFWEEK (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

DayOfYear

ส่งคืนตัวเลข (ระหว่าง 1 ถึง 366) ตามวันของปีสำหรับวันที่ที่ระบุ

Syntax:

DAYOFYEAR (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

Hour

ส่งคืนตัวเลข (ระหว่าง 0 ถึง 23) ที่ตรงกับชั่วโมงของเวลาที่ระบุ เช่น 0 ตรงกับ 12 a.m. และ 23 ตรงกับ 11 p.m.

Syntax:

HOUR (time_expression)

โดยที่:

time_expression

นิพจน์ใดๆ ที่ประเมินค่าเวลา

Minute

ส่งคืนตัวเลข (ระหว่าง 0 ถึง 59) ที่ตรงกับนาทีของเวลาที่ระบุ

Syntax:

MINUTE (time_expression)

โดยที่:

time_expression

นิพจน์ใดๆ ที่ประเมินค่าเวลา

Month

ส่งคืนตัวเลข (ระหว่าง 1 ถึง 12) ที่ตรงกับเดือนสำหรับวันที่ที่ระบุ

Syntax:

MONTH (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

Month_Of_Quarter

ส่งคืนตัวเลข (ระหว่าง 1 ถึง 3) ที่ตรงกับเดือนในไตรมาสสำหรับวันที่ที่ระบุ

Syntax:

MONTH_OF_QUARTER (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

MonthName

ส่งคืนชื่อของเดือน (เป็นภาษาอังกฤษ) สำหรับวันที่ที่ระบุ

Syntax:

MONTHNAME (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

Now

ส่งคืนเวลาที่ลงไว้ปัจจุบัน ฟังก์ชัน NOW เหมือนกับฟังก์ชัน CURRENT_TIMESTAMP

หมายเหตุ: ฟังก์ชันนี้แสดงเวลาปัจจุบันขณะรันรายงาน เมื่อใช้ฟังก์ชันนี้กับหัวข้อการวิเคราะห์จะป้องกันไม่ให้เกิดการแคชที่ทำให้ประสิทธิภาพลดลง

Syntax:

NOW ()

Quarter_Of_Year

ส่งคืนตัวเลข (ระหว่าง 1 ถึง 4) ตามไตรมาสของปีสำหรับวันที่ที่ระบุ

Syntax:

QUARTER_OF_YEAR (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

Second

ส่งคืนตัวเลข (ระหว่าง 0 ถึง 59) ที่ตรงกับวินาทีของเวลาที่ระบุ

Syntax:

SECOND (time_expression)

โดยที่:

time_expression

นิพจน์ใดๆ ที่ประเมินค่าเวลา

TimestampAdd

ฟังก์ชัน TimestampAdd เพิ่มช่วงตามจำนวนที่ระบุเฉพาะลงในเวลาที่ลงไว้ที่ระบุ โดยส่งกลับเวลาที่ลงไว้เพียงเวลาเดียว

Syntax:

TimestampAdd (ช่วง, integer_expression, timestamp_expression)

โดยที่:

interval

ช่วงที่ระบุ ค่าที่ใช้ได้คือ

SQL_TSI_SECOND

SQL_TSI_MINUTE

SQL_TSI_HOUR

SQL_TSI_DAY

SQL_TSI_WEEK

SQL_TSI_MONTH

SQL_TSI_QUARTER

SQL_TSI_YEAR

integer_expression

นิพจน์ใดๆ ที่มีค่าเป็นจำนวนเต็ม นี่คือจำนวนช่วงที่จะเพิ่ม

timestamp_expression

เวลาที่ลงไว้ที่ใช้เป็นพื้นฐานในการคำนวณ

นิพจน์จำนวนเต็มที่มีค่านัลหรือนิพจน์เวลาที่ลงไว้ที่มีค่านัลซึ่งถูกส่งผ่านมาที่ฟังก์ชันนี้จะได้รับการส่งคืนค่าเป็นนัล

ในสถานการณ์สมมติอย่างง่าย ฟังก์ชันนี้เพียงเพิ่มค่าจำนวนเต็มที่ระบุ (integer_expression) ให้กับส่วนประกอบที่เหมาะสมของเวลาที่ลงไว้ โดยขึ้นกับช่วงเวลา การเพิ่มหนึ่งสัปดาห์หมายถึงการเพิ่มเจ็ดวัน และการเพิ่มหนึ่งไตรมาสหมายถึงการเพิ่มสามเดือน ค่าจำนวนเต็มลบจะหมายถึงการลบออก (ย้อนเวลากลับไป)

ค่าที่เกินของส่วนประกอบที่ระบุ (เช่น เกิน 60 วินาที, 24 ชั่วโมง, สิบสองเดือน และอื่นๆ) จะทำให้ต้องเพิ่มจำนวนที่เหมาะสมให้กับส่วนประกอบถัดไป เช่น เมื่อเพิ่มส่วนประกอบวันของเวลาที่ลงไว้ ฟังก์ชันนี้จะพิจารณาค่าที่เกินและคำนึงถึงจำนวนวันในแต่ละเดือน (รวมถึงปีอธิกสุรทิน ซึ่งเดือนกุมภาพันธ์มี 29 วัน)

เมื่อเพิ่มส่วนประกอบเดือนของเวลาที่ลงไว้ ฟังก์ชันนี้จะตรวจสอบว่าผลลัพธ์ของเวลาที่ลงไว้มีจำนวนวันเพียงพอสำหรับส่วนประกอบวัน เช่น การเพิ่ม 1 เดือนให้กับ 2000-05-31 จะไม่ได้ผลลัพธ์เป็น 2000-06-31 เนื่องจากเดือนมิถุนายนไม่ได้มี 31 วัน ฟังก์ชันนี้จะลดส่วนประกอบวันเป็นวันสุดท้ายของเดือน ซึ่งได้แก่ 2000-06-30 ในตัวอย่างนี้

ปัญหาในลักษณะเดียวกันนี้เกิดขึ้นเมื่อเพิ่มส่วนประกอบปีของเวลาที่ลงไว้ โดยมีส่วนประกอบเดือนเป็น กุมภาพันธ์ และส่วนประกอบวันคือ 29 (นั่นคือ วันสุดท้ายของเดือนกุมภาพันธ์ ในปีอธิกสุรทิน) หากเวลาที่ลงไว้ผลลัพธ์ไม่อยู่ในปีอธิกสุรทิน ฟังก์ชันจะลดส่วนประกอบวันลงเป็น 28

ต่อไปนี้เป็นตัวอย่างของฟังก์ชัน TimestampAdd:

ตัวอย่างรหัสต่อไปนี้ ต้องการทราบผลลัพธ์ของเวลาที่ลงไว้เมื่อมีการเพิ่ม 3 วันให้กับ 2000-02-27 14:30:00 เนื่องจากเดือนกุมภาพันธ์ ปี 2000 เป็นปีอธิกสุรทิน ฟังก์ชันนี้จะส่งคืนเวลาที่ลงไว้เวลาเดียวคือ 2000-03-01 14:30:00

TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP‘2000-02-27 14:30:00’)

ตัวอย่างรหัสต่อไปนี้ ต้องการผลลัพธ์ทราบเวลาที่ลงไว้เมื่อมีการเพิ่ม 7 เดือนให้กับ 1999-07-31 0:0:0 ฟังก์ชันนี้จะส่งคืนเวลาที่ลงไว้เวลาเดียวคือ 2000-02-29 00:00:00 ให้สังเกตการลดลงของส่วนประกอบวันเหลือ 29 เนื่องจากเดือนกุมภาพันธ์สั้นกว่าเดือนอื่นๆ

TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP‘1999-07-31 00:00:00’)

ตัวอย่างรหัสต่อไปนี้ ต้องการผลลัพธ์ของเวลาที่ลงไว้เมื่อมีการเพิ่ม 25 นาทีให้กับ 2000-07-31 23:35:00 ฟังก์ชันนี้จะส่งคืนเวลาที่ลงไว้เวลาเดียวคือ 2000-08-01 00:00:00 ให้สังเกตการส่งต่อค่าที่เกินผ่านไปถึงส่วนประกอบเดือน

TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP‘2000-07-31 23:35:00’)

TimeStampDiff

ฟังก์ชัน TimestampDiff ส่งคืนจำนวนรวมของช่วงเวลาที่ระบุระหว่างเวลาที่ลงไว้สองเวลา

Syntax:

TimestampDiff (ช่วง, timestamp_expression1, timestamp_expression2)

โดยที่:

interval

ช่วงที่ระบุ ค่าที่ใช้ได้คือ

SQL_TSI_SECOND

SQL_TSI_MINUTE

SQL_TSI_HOUR

SQL_TSI_DAY

SQL_TSI_WEEK

SQL_TSI_MONTH

SQL_TSI_QUARTER

SQL_TSI_YEAR

timestamp_expression1

เวลาที่ลงไว้เพื่อหักลบออกจากเวลาที่ลงไว้ที่สอง

timestamp_expression2

เวลาที่ลงไว้ที่สอง timestamp_expression1 จะถูกลบออกจากเวลาที่ลงไว้นี้เพื่อหาผลต่าง

พารามิเตอร์นิพจน์เวลาที่ลงไว้ที่เป็นนัล ซึ่งถูกส่งผ่านมาที่ฟังก์ชันนี้จะได้รับค่าส่งคืนเป็นนัล

ขั้นแรก ฟังก์ชันนี้จะพิจารณาส่วนประกอบเวลาที่ลงไว้ที่ตรงกับพารามิเตอร์ช่วงเวลาที่ระบุ เช่น SQL_TSI_DAY จะตรงกับส่วนประกอบวัน และ SQL_TSI_MONTH จะตรงกับส่วนประกอบเดือน

จากนั้น ฟังก์ชันจะดูที่ส่วนประกอบในลำดับที่สูงกว่าของเวลาที่ลงไว้ทั้งสองเวลาเพื่อคำนวณจำนวนช่วงเวลารวมของเวลาที่ลงไว้แต่ละรายการ เช่น หากช่วงเวลาที่ระบุตรงกับส่วนประกอบเดือน ฟังก์ชันจะคำนวณจำนวนเดือนรวมของเวลาที่ลงไว้แต่ละรายการโดยการเพิ่มส่วนประกอบเดือนลงไป แล้วคูณส่วนประกอบปีด้วยสิบสอง

สุดท้าย ฟังก์ชันจะลบจำนวนช่วงเวลารวมของเวลาที่ลงไว้ที่หนึ่งออกจากจำนวนช่วงเวลารวมของเวลาที่ลงไว้ที่สอง

เมื่อคำนวณผลต่างเป็นวัน ฟังก์ชันจะตัดข้อมูลค่าเวลาจากนิพจน์ Timestamp ทั้งสอง แล้วจึงลบค่าวันที่

เมื่อคำนวณผลต่างเป็นสัปดาห์ ฟังก์ชันจะคำนวณผลต่างเป็นวันแล้วหารด้วยเจ็ดก่อนจะปัดเศษ

เมื่อคำนวณผลต่างเป็นไตรมาส ฟังก์ชันจะคำนวณผลต่างเป็นเดือนแล้วหารด้วยสามก่อนจะปัดเศษ

เมื่อคำนวณผลต่างเป็นปี ฟังก์ชันจะคำนวณผลต่างเป็นเดือนแล้วหารด้วยสิบสองก่อนจะปัดเศษ

ฟังก์ชัน TimestampDiff และตัวอย่างผลลัพธ์

ตัวอย่างรหัสต่อไปนี้ ต้องการผลต่างเป็นวันระหว่างเวลาที่ลงไว้ 1998-07-31 23:35:00 และ 2000-04-01 14:24:00 ซึ่งฟังก์ชันส่งคืนค่า 610 ให้สังเกตว่าปีอธิกสุรทินในปี 2000 ทำให้มีจำนวนวันเพิ่มขึ้นหนึ่งวัน

TimestampDIFF(SQL_TSI_DAY, TIMESTAMP‘1998-07-31 23:35:00’, TIMESTAMP‘2000-04-01 14:24:00’)

Week_Of_Quarter

ส่งคืนตัวเลข (ระหว่าง 1 ถึง 13) ตามสัปดาห์ของไตรมาสสำหรับวันที่ที่ระบุ

Syntax:

WEEK_OF_QUARTER (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

Week_Of_Year

ส่งคืนตัวเลข (ระหว่าง 1 ถึง 53) ตามสัปดาห์ของปีสำหรับวันที่ที่ระบุ

Syntax:

WEEK_OF_YEAR (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

ปี

ส่งคืนปีสำหรับวันที่ที่ระบุ

Syntax:

YEAR (date_expression)

โดยที่:

date_expression

นิพจน์ใดๆ ที่มีค่าเป็นวันที่

ตัวอย่าง:

YEAR (CURRENT_DATE)


ตุลาคม 2016 ลิขสิทธิ์ © 2005, 2016, Oracle สงวนลิขสิทธ Legal Notices.