ฟังก์ชัน

มีฟังก์ชันหลายประเภทที่คุณสามารถใช้ในเอ็กซ์เพรสชัน

หัวข้อต่างๆ มีดังนี้

ฟังก์ชันวิเคราะห์

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

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

ฟังก์ชัน ตัวอย่าง คำอธิบาย รูปแบบคำสั่ง

CLUSTER

CLUSTER((product, company), (billed_quantity, revenue), 'clusterName', 'algorithm=k-means;numClusters=%1;maxIter=%2;useRandomSeed=FALSE;enablePartitioning=TRUE', 5, 10)

รวบรวมชุดเรคคอร์ดเป็นกลุ่มตามเอ็กซ์เพรสชันอินพุตอย่างน้อยหนึ่งรายการโดยใช้ K-Means หรือการคลัสเตอร์ตามลำดับชั้น

CLUSTER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

FORECAST

ตัวอย่างประมาณการรายรับแยกตามวัน

ตัวอย่างนี้เลือกประมาณการรายรับแยกตามวัน

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue" Target,
("A - Sample Sales"."Time"."T00 Calendar Date"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

ตัวอย่างประมาณการรายรับแยกตามปีและไตรมาส

ตัวอย่างนี้เลือกประมาณการรายรับแยกตามปีและไตรมาส

FORECAST("A - Sample Sales"."Base Facts"."1- Revenue",
("A - Sample Sales"."Time"."T01 Year" timeYear, "A - Sample Sales"."Time"."T02 Quarter" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue

สร้างโมเดลชุดเวลาของการวัดที่ระบุผ่านชุดโดยใช้ Exponential Smoothing (ETS), Seasonal ARIMA, ARIMA หรือ Prophet ฟังก์ชันนี้แสดงเอาต์พุตประมาณการสำหรับชุดช่วงเวลาตามที่ระบุโดยอาร์กิวเมนต์ numPeriods

ดูตัวเลือกฟังก์ชัน FORECAST เพิ่มเติมที่ด้านล่าง

FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])

โดยที่:

  • measure แสดงการวัดที่จะประมาณการ เช่น ข้อมูลรายได้

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

  • output_column_name แสดงชื่อคอลัมน์ที่ถูกต้องของ forecast, low, high และ predictionInterval

  • options แสดงลิสต์สตริงของคู่ชื่อ/ค่า ที่คั่นด้วยเครื่องหมายเซมิโคลอน (;) โดยค่าอาจประกอบด้วย %1 ... %N ที่ระบุไว้ใน runtime_binded_options

  • runtime_binded_options แสดงลิสต์ของคอลัมน์และตัวเลือกที่คั่นด้วยเครื่องหมายคอมมา ระบบจะประเมินและแก้ไขค่าต่างๆ สำหรับคอลัมน์และตัวเลือกเหล่านี้ระหว่างเวลาการรันการสืบค้นแต่ละรายการ

ดูตัวเลือกฟังก์ชัน FORECAST เพิ่มเติมที่ด้านล่าง

OUTLIER

OUTLIER((product, company), (billed_quantity, revenue), 'isOutlier', 'algorithm=kmeans')

จัดประเภทเรคคอร์ดเป็นค่าผิดปกติตามเอ็กซ์เพรสชันอินพุตอย่างน้อยหนึ่งรายการโดยใช้ K-Means หรือการคลัสเตอร์ตามลำดับชั้น หรืออัลกอริทึมการตรวจหาค่าผิดปกติหลายตัวแปร

OUTLIER((dimension_expr1 , ... dimension_exprN), (expr1, ... exprN), output_column_name, options, [runtime_binded_options])

REGR

REGR(revenue, (discount_amount), (product_type, brand), 'fitted', '')

ทำให้โมเดลเชิงเส้นพอดี และส่งคืนค่าหรือโมเดลที่ทำให้พอดี ฟังก์ชันนี้สามารถใช้เพื่อทำให้เส้นโค้งเชิงเส้นพอดีกับการวัดสองแบบ

REGR(y_axis_measure_expr, (x_axis_expr), (category_expr1, ..., category_exprN), output_column_name, options, [runtime_binded_options])

TRENDLINE

TRENDLINE(revenue, (calendar_year, calendar_quarter, calendar_month) BY (product), 'LINEAR', 'VALUE')

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

ทำให้โมเดลเชิงเส้น แบบพหุคูณ หรือแบบทวีคูณพอดี และส่งคืนค่าหรือโมเดลที่ทำให้พอดี numeric_expr แสดงค่า Y สำหรับแนวโน้ม และ series (คอลัมน์เวลา) แสดงค่า X

TRENDLINE(numeric_expr, ([series]) BY ([partitionBy]), model_type, result_type)

ตัวเลือกฟังก์ชัน FORECAST ตารางต่อไปนี้แสดงลิสต์ตัวเลือกที่ใช้ได้กับฟังก์ชัน FORECAST

ชื่อตัวเลือก ค่า คำอธิบาย
numPeriods Integer จำนวนช่วงเวลาที่จะประมาณการ
predictionInterval 0 ถึง 100 โดยที่ค่ายิ่งสูง ความมั่นใจก็ยิ่งสูง ระดับความมั่นใจสำหรับการคาดการณ์
modelType

ETS (Exponential Smoothing)

SeasonalArima

ARIMA

Prophet

โมเดลที่จะใช้ในการประมาณการ
useBoxCox

TRUE

FALSE

หากมีค่าเป็น TRUE ให้ใช้การแปลงรูปแบบ Box-Cox
lambdaValue ใช้ไม่ได้

พารามิเตอร์การแปลงรูปแบบ Box-Cox

ไม่ประมวลผลหากค่าเป็น NULL หรือเมื่อ useBoxCox มีค่าเป็น FALSE

หากไม่เป็นเช่นนั้น ข้อมูลจะได้รับการแปลงรูปแบบก่อนที่จะประมาณการโมเดล

trendDamp

TRUE

FALSE

มีเฉพาะในโมเดล Exponential Smoothing

หากมีค่าเป็น TRUE ให้ใช้แนวโน้มแบบแดมพ์ หากมีค่าเป็น FALSE หรือ NULL ให้ใช้แนวโน้มที่ไม่ใช่แบบแดมพ์

errorType

ใช้ไม่ได้

มีเฉพาะในโมเดล Exponential Smoothing
trendType

N (ไม่มี)

A (ส่วนเพิ่ม)

M (ตัวคูณ)

Z (เลือกโดยอัตโนมัติ)

มีเฉพาะในโมเดล Exponential Smoothing
seasonType

N (ไม่มี)

A (ส่วนเพิ่ม)

M (ตัวคูณ)

Z (เลือกโดยอัตโนมัติ)

มีเฉพาะในโมเดล Exponential Smoothing
modelParamIC

ic_auto

ic_aicc

ic_bic

ic_auto (นี่เป็นค่าดีฟอลต์)

จะมีการใช้เกณฑ์ข้อมูล (IC) ในการเลือกโมเดล

ฟังก์ชันการแปลง

ฟังก์ชันการแปลงจะแปลงค่าจากฟอร์มหนึ่งเป็นอีกฟอร์มหนึ่ง

ฟังก์ชัน ตัวอย่าง คำอธิบาย รูปแบบคำสั่ง

CAST

CAST(hiredate AS CHAR(40)) FROM employee

เปลี่ยนประเภทข้อมูลของเอ็กซ์เพรสชันหรือลิเทอรัลที่เป็นนัลเป็นประเภทข้อมูลอื่น ตัวอย่างเช่น คุณสามารถกำหนด customer_name (ประเภทข้อมูลของ CHAR หรือ VARCHAR) หรือ birthdate (ลิเทอรัลของวันที่และเวลา)

ใช้ CAST เพื่อเปลี่ยนเป็นประเภทข้อมูล วันที่

อย่าใช้ TODATE

CAST(expr AS type)

IFNULL

IFNULL(Sales, 0)

ทดสอบว่าเอ็กซ์เพรสชันประมวลผลเป็นค่านัลหรือไม่ และถ้าเป็นค่านัล ให้ระบุค่าที่ระบุให้กับเอ็กซ์เพรสชัน

IFNULL(expr, value)

INDEXCOL

SELECT INDEXCOL(VALUEOF ("NQ_SESSION"."GEOGRAPHY_LEVEL"), Country, State, City), Revenue FROM Sales

ใช้ข้อมูลภายนอกเพื่อแสดงคอลัมน์ที่เหมาะสมให้ผู้ใช้ที่เข้าสู่ระบบเห็น

INDEXCOL([integer literal], [expr1] [, [expr2], ?-])

NULLIF

SELECT e.last_name, NULLIF(e.job_id, j.job_id) "Old Job ID" FROM employees e, job_history j WHERE e.employee_id = j.employee_id ORDER BY last_name, "Old Job ID";

เปรียบเทียบเอ็กซ์เพรสชัน 2 รายการ หากเท่ากัน ฟังก์ชันนี้จะแสดงค่านัล หากไม่เท่ากัน ฟังก์ชันนี้จะแสดงเอ็กซ์เพรสชันแรก คุณไม่สามารถระบุค่านัลที่เป็นลิเทอรัลให้กับเอ็กซ์เพรสชันแรก

NULLIF([expression], [expression])

To_DateTime

SELECT To_DateTime ('2009-03-0301:01:00', 'yyyy-mm-dd hh:mi:ss') FROM sales

แปลงลิเทอรัลของสตริงของรูปแบบ DateTime เป็นประเภทข้อมูล DateTime

To_DateTime([expression], [literal])

VALUEOF

SalesSubjectArea.Customer.Region = VALUEOF("Region Security"."REGION")

อ้างอิงค่าของตัวแปรของโมเดลรูปแบบภาษาในฟิลเตอร์

ใช้ตัวแปร expr เป็นอาร์กิวเมนต์ของฟังก์ชัน VALUEOF อ้างอิงตัวแปรของโมเดลรูปแบบภาษาแบบสแตติกจากชื่อ

VALUEOF(expr)

ฟังก์ชันการดึงข้อมูลวันที่

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

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

ฟังก์ชัน ตัวอย่าง คำอธิบาย รูปแบบคำสั่ง

ดึงข้อมูลวัน

EXTRACTDAY("Order Date")
  • 2/22/1967 3:02:01 AM แสดง 2/22/1967 12:00:00 AM
  • 9/2/2022 10:38:21 AM แสดง 9/2/2022 12:00:00 AM

แสดงเวลาระบบสำหรับช่วงเที่ยงคืน (12 AM) ในวันที่มีค่าอินพุตเกิดขึ้น ตัวอย่างเช่น หากเวลาระบบอินพุตคือ 3:02:01 AM ในวันที่ 22 กุมภาพันธ์ ฟังก์ชันจะแสดงเวลาระบบเป็น 12:00:00 AM ในวันที่ 22 กุมภาพันธ์

EXTRACTDAY(expr)

ดึงข้อมูลชั่วโมง

EXTRACTHOUR("Order Date")
  • 2/22/1967 3:02:01 AM แสดง 2/22/1967 3:00:00 AM
  • 6/17/1999 11:18:30 PM แสดง 6/17/1999 11:00:00 PM.

แสดงเวลาระบบสำหรับช่วงเริ่มต้นชั่วโมงที่มีค่าอินพุตเกิดขึ้น ตัวอย่างเช่น หากเวลาระบบอินพุตคือ 11:18:30 PM ฟังก์ชันจะแสดงเวลาระบบเป็น 11:00:00 PM

EXTRACTHOUR (expr)

ดึงข้อมูลชั่วโมงของวัน

EXTRACTHOUROFDAY("Order Date")
  • 2014/09/24 10:58:00 แสดง 2000/01/01 10:00:00
  • 2014/08/13 11:10:00 แสดง 2000/01/01 11:00:00

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

EXTRACTHOUROFDAY(expr)

ดึงข้อมูลมิลลิวินาที

EXTRACTMILLISECOND("Order Date")
  • 1997/01/07 15:32:02.150 แสดง 1997/01/07 15:32:02.150
  • 1997/01/07 18:42:01.265 แสดง 1997/01/07 18:42:01.265
แสดงเวลาระบบที่มีมิลลิวินาทีสำหรับค่าอินพุต ตัวอย่างเช่น หากเวลาระบบอินพุตคือ 15:32:02.150 ฟังก์ชันจะแสดงเวลาระบบเป็น 15:32:02.150

EXTRACTMILLISECOND(expr)

ดึงข้อมูลนาที

EXTRACTMINUTE("Order Date")
  • 6/17/1999 11:18:00 PM แสดง 6/17/1999 11:18:00 PM
  • 9/2/2022 10:38:21 AM แสดง 9/2/2022 10:38:00 AM

แสดงเวลาระบบสำหรับช่วงเริ่มต้นนาทีที่มีค่าอินพุตเกิดขึ้น ตัวอย่างเช่น หากเวลาระบบอินพุตคือ 11:38:21 AM ฟังก์ชันจะแสดงเวลาระบบเป็น 11:38:00 AM

EXTRACTMINUTE (expr)

ดึงข้อมูลเดือน

EXTRACTMONTH("Order Date")
  • 2/22/1967 3:02:01 AM แสดง 2/1/1967 12:00:00 AM
  • 6/17/1999 11:18:00 PM แสดง 6/1/1999 12:00:00 AM

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

EXTRACTMONTH(expr)

ดึงข้อมูลไตรมาส

EXTRACTQUARTER("Order Date")
  • 2/22/1967 3:02:01 AM แสดง 1/1/1967 12:00:00 AM ซึ่งก็คือวันแรกของไตรมาสแรกตามปีการเงิน
  • 6/17/1999 11:18:00 PM แสดง 4/1/1999 12:00:00 AM ซึ่งก็คือวันแรกของไตรมาสที่สองตามปีการเงิน

  • 9/2/2022 10:38:21 AM แสดง 7/1/2022 12:00:00 AM ซึ่งก็คือวันแรกของไตรมาสที่สามตามปีการเงิน

    เคล็ดลับ: ใช้ QUARTER (expr) เพื่อคำนวณแค่ไตรมาสตามลำดับจากเวลาระบบที่แสดง

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

EXTRACTQUARTER(expr)

ดึงข้อมูลวินาที

EXTRACTSECOND("Order Date")
  • 1997/01/07 15:32:02.150 แสดง 1997/01/07 15:32:02
  • 1997/01/07 20:44:18.163 แสดง 1997/01/07 20:44:18

แสดงเวลาระบบสำหรับค่าอินพุต ตัวอย่างเช่น หากเวลาระบบอินพุตคือ 15:32:02.150 ฟังก์ชันจะแสดงเวลาระบบเป็น 15:32:02

EXTRACTSECOND(expr)

ดึงข้อมูลสัปดาห์

EXTRACTWEEK("Order Date")
  • 2014/09/24 10:58:00 แสดง 2014/09/21

  • 2014/08/13 11:10:00 แสดง 2014/08/10

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

หมายเหตุ: หากวันแรกของสัปดาห์ (วันอาทิตย์ เป็นต้น) ตรงกับปีก่อนหน้า และอาจส่งผลเสียต่อการสรุปรวม ฟังก์ชันจะส่งคืนวันที่ 7 ของสัปดาห์ (วันเสาร์ เป็นต้น) ในปีปัจจุบันแทนวันแรกของสัปดาห์ในปีก่อนหน้า ตัวอย่างเช่น 1/1/24, 1/2/24, และ 1/3/24 จะสรุปรวมเป็นวันเสาร์ที่ 1/6/24 แทนที่จะเป็นวันอาทิตย์ที่ 12/29/23

EXTRACTWEEK(expr)

ดึงข้อมูลปี

EXTRACTYEAR("Order Date")
  • 1967/02/22 03:02:01 แสดง 1967/01/01 00:00:00
  • 1999/06/17 23:18:00 แสดง 1999/01/01 00:00:00

แสดงเวลาระบบสำหรับวันที่ 1 มกราคมในปีที่มีค่าอินพุตเกิดขึ้น ตัวอย่างเช่น หากเวลาระบบอินพุตเกิดขึ้นในปี 1967 ฟังก์ชันจะแสดงเวลาระบบเป็น 1 มกราคม 1967

EXTRACTYEAR (expr)

เคล็ดลับการใช้ไดเมนชันวันที่ในหัวเรื่อง

ต่อไปนี้คือเคล็ดลับบางส่วนเกี่ยวกับการใช้วันที่ของหัวเรื่องในการคำนวณเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด

การเพิ่มวันที่ในหัวเรื่องในการคำนวณ

หากคุณลากวันที่จากหัวเรื่องไปยังการคำนวณโดยตรง และประมวลผลเป็นสตริงหรือจำนวนเต็ม คุณจะได้รับข้อผิดพลาด ซึ่งเกิดขึ้นเนื่องจากค่าวันที่ที่สำคัญคือเวลาระบบ

แต่ให้ใช้หนึ่งใน ฟังก์ชันการดึงข้อมูลวันที่ เพื่อแปลค่าวันที่

ตัวอย่างเช่น คุณอาจมีวันที่ของหัวเรื่องเหล่านี้
คำอธิบาย GUID-39C55B3A-A055-45D3-9904-948680247C08-default.png มีดังนี้
.png

ในการแยกเดือนออกจากวันที่ในหัวเรื่องเหล่านี้ ให้ใช้ฟังก์ชัน ExtractMonthOfYear:

case when monthname(ExtractMonthOfYear("Date")) in ('Jan' ,'Feb', 'Mar') 
THEN 'Q1' 
ELSE 'Rest of the year' END

ฟังก์ชันแสดงผล

ฟังก์ชันแสดงผลจะทำงานกับชุดผลการสืบค้น

ฟังก์ชัน ตัวอย่าง คำอธิบาย รูปแบบคำสั่ง

BottomN

BottomN(Sales, 10)

แสดงค่าเอ็กซ์เพรสชันต่ำสุด n อันดับ เรียงจากต่ำสุดไปสูงสุด

BottomN([NumericExpression], [integer])

FILTER

FILTER(Sales USING Product = 'widget')

ประมวลผลเอ็กซ์เพรสชันโดยใช้ฟิลเตอร์สรุปรวมล่วงหน้าที่ระบุ

FILTER(measure USING filter_expr)

MAVG

MAVG(Sales, 10)

คำนวณค่าเฉลี่ยเคลื่อนที่ (ค่าเฉลี่ย) สำหรับ n แถวสุดท้ายของข้อมูลในชุดผลลัพธ์ โดยรวมแถวปัจจุบัน

MAVG([NumericExpression], [integer])

MSUM

SELECT Month, Revenue, MSUM(Revenue, 3) as 3_MO_SUM FROM Sales

ฟังก์ชันนี้คำนวณผลรวมเคลื่อนที่สำหรับ n แถวสุดท้ายของข้อมูล โดยรวมแถวปัจจุบัน

ผลรวมของแถวแรกจะเท่ากับเอ็กซ์เพรสชันตัวเลขของแถวแรก ผลรวมของแถวที่สองก็คำนวณโดยการหาผลรวมสองแถวแรกของข้อมูล เป็นเช่นนี้ไปเรื่อยๆ เมื่อถึงแถวที่ n ระบบจะคำนวณผลรวมจาก n แถวสุดท้ายของข้อมูล

MSUM([NumericExpression], [integer])

NTILE

NTILE(Sales, 100)

พิจารณาอันดับของค่าในช่วงที่ผู้ใช้ระบุ โดยจะแสดงจำนวนเต็มสำหรับช่วงของอันดับใดก็ได้ ตัวอย่างนี้แสดงช่วงจาก 1 ถึง 100 โดยมียอดขายต่ำสุด = 1 และยอดขายสูงสุด = 100

NTILE([NumericExpresssion], [integer])

PERCENTILE

PERCENTILE(Sales)

คำนวณอันดับของค่าเปอร์เซ็นต์สำหรับแต่ละค่าที่สอดคล้องกับอาร์กิวเมนต์ของเอ็กซ์เพรสชันตัวเลข ช่วงของอันดับค่าเปอร์เซ็นต์จะอยู่ตั้งแต่ 0 (ค่าเปอร์เซ็นต์ที่ 1) ถึง 1 (ค่าเปอร์เซ็นต์ที่ 100) โดยรวม 0 กับ 1 ด้วย

PERCENTILE([NumericExpression])

RANK

RANK(Sales)

คำนวณอันดับสำหรับแต่ละค่าที่สอดคล้องกับอาร์กิวเมนต์ของเอ็กซ์เพรสชันตัวเลข ตัวเลขสูงสุดจะระบุเป็นอันดับ 1 และระบุอันดับถัดจากนั้นให้กับจำนวนเต็มถัดไป (2, 3, 4,...) ถ้ามีบางค่าที่เท่ากัน ระบบจะระบุอันดับเดียวกันให้ (ตัวอย่างเช่น 1, 1, 1, 4, 5, 5, 7...)

RANK([NumericExpression])

RCOUNT

SELECT month, profit, RCOUNT(profit) FROM sales WHERE profit > 200

ใช้ชุดเรคคอร์ดเป็นอินพุต และนับจำนวนเรคคอร์ดที่พบจนถึงปัจจุบัน

RCOUNT([NumericExpression])

RMAX

SELECT month, profit, RMAX(profit) FROM sales

ใช้ชุดเรคคอร์ดเป็นอินพุต และแสดงค่าสูงสุดตามจำนวนเรคคอร์ดที่พบถึงปัจจุบัน ประเภทข้อมูลที่ระบุต้องเป็นประเภทที่เรียงลำดับได้

RMAX([NumericExpression])

RMIN

SELECT month, profit, RMIN(profit) FROM sales

ใช้ชุดเรคคอร์ดเป็นอินพุต และแสดงค่าต่ำสุดตามจำนวนเรคคอร์ดที่พบถึงปัจจุบัน ประเภทข้อมูลที่ระบุต้องเป็นประเภทที่เรียงลำดับได้

RMIN([NumericExpression])

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM FROM sales

คำนวณยอดรวมเคลื่อนที่จากเรคคอร์ดที่พบถึงปัจจุบัน

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

RSUM([NumericExpression])

TOPN

TOPN(Sales, 10)

แสดงค่าเอ็กซ์เพรสชันสูงสุด n อันดับ เรียงจากสูงสุดไปต่ำสุด

TOPN([NumericExpression], [integer])

เคล็ดลับการใช้ฟังก์ชันการแสดงผล

  • FILTER - หากคุณกำลังสร้างรายงานโดยใช้หัวเรื่อง ให้ใช้ลำดับชั้นที่กำหนดไว้ในหัวเรื่องแทนการฟิลเตอร์คอลัมน์ลำดับชั้นโดยตรงในการคำนวณ กล่าวอีกนัยหนึ่ง ถ้าหัวเรื่องมีลำดับชั้นสำหรับเวลา\ปีการเงิน\ไตรมาสตามปีการเงิน ให้หลีกเลี่ยง:

    filter (<measure> using fiscal_quarter = 'Q4')

    filter (<measure> using fiscal_quarter = 'Q3')

    filter (<measure> using fiscal_year = 'FY24')

ฟังก์ชันประมวลผล

ฟังก์ชันประมวลผลเป็นฟังก์ชันฐานข้อมูลที่สามารถใช้ประมวลผลเอ็กซ์เพรสชันเพื่อให้ได้การคำนวณขั้นสูง

ฟังก์ชันฐานข้อมูลที่รวมอยู่อาจต้องการคอลัมน์หนึ่งคอลัมน์ขึ้นไป คอลัมน์เหล่านี้สามารถอ้างอิงได้โดยดูจากสตริง %1 ... %N ภายในฟังก์ชัน โดยต้องระบุคอลัมน์จริงอยู่หลังฟังก์ชัน

ฟังก์ชัน ตัวอย่าง คำอธิบาย รูปแบบคำสั่ง

EVALUATE

SELECT EVALUATE('instr(%1, %2)', address, 'Foster City') FROM employees

ส่งฟังก์ชันฐานข้อมูลที่ระบุโดยมีคอลัมน์ที่อ้างอิง (เลือกระบุได้) เป็นพารามิเตอร์ไปยังฐานข้อมูลเพื่อประมวลผล

EVALUATE([string expression], [comma separated expressions])

EVALUATE_AGGR

EVALUATE_AGGR('REGR_SLOPE(%1, %2)', sales.quantity, market.marketkey)

ส่งฟังก์ชันฐานข้อมูลที่ระบุโดยมีคอลัมน์ที่อ้างอิง (เลือกระบุได้) เป็นพารามิเตอร์ไปยังฐานข้อมูลเพื่อประมวลผล ฟังก์ชันนี้ใช้สำหรับฟังก์ชันการสรุปรวมที่มีส่วนของคำสั่ง GROUP BY

EVALUATE_AGGR('db_agg_function(%1...%N)' [AS datatype] [, column1, columnN])

ฟังก์ชันคณิตศาสตร์

ฟังก์ชันคณิตศาสตร์ที่อธิบายไว้ในส่วนนี้จะคำนวณข้อมูลทางคณิตศาสตร์

ฟังก์ชัน ตัวอย่าง คำอธิบาย รูปแบบคำสั่ง

ABS

ABS(Profit)

คำนวณค่าสัมบูรณ์ของเอ็กซ์เพรสชันตัวเลข

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

ABS(expr)

ACOS

ACOS(1)

คำนวณโคไซน์เส้นโค้งของเอ็กซ์เพรสชันตัวเลข

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

ACOS(expr)

ASIN

ASIN(1)

คำนวณไซน์เส้นโค้งของเอ็กซ์เพรสชันตัวเลข

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

ASIN(expr)

ATAN

ATAN(1)

คำนวณแทนเจนต์เส้นโค้งของเอ็กซ์เพรสชันตัวเลข

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

ATAN(expr)

ATAN2

ATAN2(1, 2)

คำนวณแทนเจนต์เส้นโค้งของ y /x โดยที่ y คือเอ็กซ์เพรสชันตัวเลขแรก และ x คือเอ็กซ์เพรสชันตัวเลขที่สอง

ATAN2(expr1, expr2)

CEILING

CEILING(Profit)

ปัดเอ็กซ์เพรสชันตัวเลขที่ไม่ใช่จำนวนเต็มเป็นจำนวนเต็มสูงสุดถัดไป ถ้าเอ็กซ์เพรสชันตัวเลขประมวลผลเป็นจำนวนเต็ม ฟังก์ชัน CEILING จะแสดงจำนวนเต็มนั้น

CEILING(expr)

COS

COS(1)

คำนวณโคไซน์ของเอ็กซ์เพรสชันตัวเลข

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

COS(expr)

COT

COT(1)

คำนวณโคแทนเจนต์ของเอ็กซ์เพรสชันตัวเลข

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

COT(expr)

DEGREES

DEGREES(1)

แปลงเอ็กซ์เพรสชันจากเรเดียนเป็นองศา

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

DEGREES(expr)

EXP

EXP(4)

ส่งค่าเพื่อยกกำลังตามที่ระบุ คำนวณค่า e ยกกำลัง n โดย e เป็นฐานลอการิทึมธรรมชาติ

EXP(expr)

ExtractBit

Int ExtractBit(1, 5)

เรียกค่าบิตที่ตำแหน่งเฉพาะในจำนวนเต็ม จะแสดงจำนวนเต็ม 0 หรือ 1 ที่สอดคล้องกับตำแหน่งของบิต

ExtractBit([Source Number], [Digits])

FLOOR

FLOOR(Profit)

ปัดเอ็กซ์เพรสชันตัวเลขที่ไม่ใช่จำนวนเต็มเป็นจำนวนเต็มต่ำสุดถัดไป ถ้าเอ็กซ์เพรสชันตัวเลขประมวลผลเป็นจำนวนเต็ม ฟังก์ชัน FLOOR จะแสดงจำนวนเต็มนั้น

FLOOR(expr)

LOG

LOG(1)

คำนวณลอการิทึมธรรมชาติของเอ็กซ์เพรสชัน

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

LOG(expr)

LOG10

LOG10(1)

คำนวณลอการิทึมฐาน 10 ของเอ็กซ์เพรสชัน

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

LOG10(expr)

MOD

MOD(10, 3)

หารเอ็กซ์เพรสชันตัวเลขแรกด้วยเอ็กซ์เพรสชันตัวเลขที่สอง และแสดงผลลัพธ์เป็นส่วนที่มีเศษของผลหาร

MOD(expr1, expr2)

PI

PI()

แสดงค่าคงที่ของ Pi

PI()

POWER

POWER(Profit, 2)

นำเอ็กซ์เพรสชันตัวเลขแรกมายกกำลังตามที่ระบุในเอ็กซ์เพรสชันตัวเลขที่สอง

POWER(expr1, expr2)

RADIANS

RADIANS(30)

แปลงเอ็กซ์เพรสชันจากองศาเป็นเรเดียน

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

RADIANS(expr)

RAND

RAND()

แสดงตัวเลขการสุ่มเทียมระหว่าง 0 และ 1

RAND()

RANDFromSeed

RAND(2)

แสดงตัวเลขการสุ่มเทียมจากค่าที่มีให้เลือก ระบบจะสร้างตัวเลขสุ่มชุดเดียวกันสำหรับค่าที่มีให้เลือกที่ระบุ

RAND(expr)

ROUND

ROUND(2.166000, 2)

ปัดเศษเอ็กซ์เพรสชันตัวเลขเป็นจำนวนหลักทศนิยม n หลัก

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

integer เป็นจำนวนเต็มบวกที่แสดงจำนวนหลักของจุดทศนิยม

ROUND(expr, integer)

SIGN

SIGN(Profit)

แสดงข้อมูลต่อไปนี้:

  • 1 ถ้าเอ็กซ์เพรสชันตัวเลขประมวลผลเป็นจำนวนเต็มบวก

  • -1 ถ้าเอ็กซ์เพรสชันตัวเลขประมวลผลเป็นจำนวนเต็มลบ

  • 0 ถ้าเอ็กซ์เพรสชันตัวเลขประมวลผลเป็นศูนย์

SIGN(expr)

SIN

SIN(1)

คำนวณไซน์ของเอ็กซ์เพรสชันตัวเลข

SIN(expr)

SQRT

SQRT(7)

คำนวณรากที่สองของอาร์กิวเมนต์เอ็กซ์เพรสชันตัวเลข เอ็กซ์เพรสชันตัวเลขต้องประมวลผลเป็นจำนวนที่ไม่ใช่ค่าลบ

SQRT(expr)

TAN

TAN(1)

คำนวณแทนเจนต์ของเอ็กซ์เพรสชันตัวเลข

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

TAN(expr)

TRUNCATE

TRUNCATE(45.12345, 2)

ตัดจำนวนทศนิยมเพื่อแสดงจำนวนหลักทศนิยมที่ระบุจากจุดทศนิยม

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

integer เป็นจำนวนเต็มบวกที่แสดงถึงจำนวนอักขระทางด้านขวาของจุดทศนิยมที่จะแสดง

TRUNCATE(expr, integer)

ฟังก์ชันการสรุปรวมการรัน

การรันฟังก์ชันการสรุปรวมจะทำงานกับหลายค่าเพื่อสร้างผลลัพธ์การสรุปรวม

ฟังก์ชัน ตัวอย่าง คำอธิบาย รูปแบบคำสั่ง

MAVG

 

คำนวณค่าเฉลี่ยเคลื่อนที่ (ค่าเฉลี่ย) สำหรับ n แถวสุดท้ายของข้อมูลในชุดผลลัพธ์ โดยรวมแถวปัจจุบัน

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข integer เป็นจำนวนเต็มบวก แสดงค่าเฉลี่ยของแถวข้อมูล n แถวล่าสุด

MAVG(expr, integer)

MSUM

select month, revenue, MSUM(revenue, 3) as 3_MO_SUM from sales_subject_area

ฟังก์ชันนี้คำนวณผลรวมเคลื่อนที่สำหรับ n แถวสุดท้ายของข้อมูล โดยรวมแถวปัจจุบัน

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข integer เป็นจำนวนเต็มบวก แสดงผลรวมของแถว n สุดท้ายของข้อมูล

MSUM(expr, integer)

RSUM

SELECT month, revenue, RSUM(revenue) as RUNNING_SUM from sales_subject_area

คำนวณยอดรวมเคลื่อนที่จากเรคคอร์ดที่พบถึงปัจจุบัน

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลข

RSUM(expr)

RCOUNT

select month, profit, RCOUNT(profit) from sales_subject_area where profit > 200

ใช้ชุดเรคคอร์ดเป็นอินพุต และนับจำนวนเรคคอร์ดที่พบจนถึงปัจจุบัน

expr เป็นเอ็กซ์เพรสชันของประเภทข้อมูล

RCOUNT(expr)

RMAX

SELECT month, profit,RMAX(profit) from sales_subject_area

ใช้ชุดเรคคอร์ดเป็นอินพุต และแสดงค่าสูงสุดตามจำนวนเรคคอร์ดที่พบถึงปัจจุบัน

expr เป็นเอ็กซ์เพรสชันของประเภทข้อมูล

RMAX(expr)

RMIN

select month, profit,RMIN(profit) from sales_subject_area

ใช้ชุดเรคคอร์ดเป็นอินพุต และแสดงค่าต่ำสุดตามจำนวนเรคคอร์ดที่พบถึงปัจจุบัน

expr เป็นเอ็กซ์เพรสชันของประเภทข้อมูล

RMIN(expr)

ฟังก์ชันพื้นที่

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

หมายเหตุ:

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

GeometryArea(Shape)

คำนวณพื้นที่ที่ Shape ใช้

GeometryArea(Shape)

GeometryDistance

GeometryDistance(TRIP_START, TRIP_END)

คำนวณระยะห่างระหว่าง Shape สองรายการ

GeometryDistance(Shape 1, Shape 2)

GeometryLength

GeometryLength(Shape)

คำนวณเส้นรอบวงของ Shape

GeometryLength(Shape)

GeometryRelate

GeometryRelate(TRIP_START, TRIP_END)

ระบุว่า Shape หนึ่งอยู่ภายในอีก Shape หรือไม่ แสดง TRUE หรือ FALSE เป็นสตริง (varchar)

GeometryRelate(Shape 1, Shape 2)

GeometryWithinDistance

GeometryWithinDistance(TRIP_START, TRIP_END, 500)

ระบุว่า Shape สองรายการอยู่ภายในระยะห่างระหว่างกันที่ระบุหรือไม่ แสดง TRUE หรือ FALSE เป็นสตริง (varchar)

GeometryWithinDistance(Shape1, Shape2, DistanceInFloat)

ฟังก์ชันของสตริง

ฟังก์ชันของสตริงจะดำเนินการจัดการอักขระต่างๆ โดยจะดำเนินการกับสตริงอักขระ

ฟังก์ชัน ตัวอย่าง คำอธิบาย รูปแบบคำสั่ง

ASCII

ASCII('a')

แปลงสตริงอักขระเดียวเป็นรหัส ASCII ที่ตรงกันระหว่าง 0 และ 255 ถ้าเอ็กซ์เพรสชันอักขระประมวลผลหลายอักขระ รหัส ASCII ที่ตรงกับอักขระแรกในเอ็กซ์เพรสชันจะแสดงผล

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

ASCII(expr)

BIT_LENGTH

BIT_LENGTH('abcdef')

แสดงความยาวของสตริงที่ระบุเป็นบิต แต่ละอักขระยูนิโค้ดจะมีความยาว 2 ไบต์ (เท่ากับ 16 บิต)

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

BIT_LENGTH(expr)

CHAR

CHAR(35)

แปลงค่าตัวเลขระหว่าง 0 ถึง 255 เป็นค่าอักขระที่ตรงกับรหัส ASCII

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นค่าตัวเลขระหว่าง 0 ถึง 255

CHAR(expr)

CHAR_LENGTH

CHAR_LENGTH(Customer_Name)

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

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

CHAR_LENGTH(expr)

CONCAT

SELECT DISTINCT CONCAT ('abc', 'def') FROM employee

เชื่อมต่อสตริงอักขระ 2 สตริง

exprs เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ คั่นด้วยเครื่องหมายคอมมา

คุณต้องใช้ข้อมูลดิบกับ CONCAT ไม่ใช่ข้อมูลที่จัดรูปแบบแล้ว

CONCAT(expr1, expr2)

INSERT

SELECT INSERT('123456', 2, 3, 'abcd') FROM table

แทรกสตริงอักขระที่ระบุในตำแหน่งที่ระบุในสตริงอักขระอื่น

expr1 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ ระบุสตริงอักขระเป้าหมาย

integer1 เป็นจำนวนเต็มบวกที่แสดงถึงจำนวนอักขระจากจุดเริ่มต้นของสตริงเป้าหมาย ซึ่งเป็นจุดที่จะแทรกสตริงที่สอง

integer2 เป็นจำนวนเต็มบวกที่แสดงถึงจำนวนอักขระในสตริงเป้าหมาย ซึ่งจะถูกแทนที่ด้วยสตริงที่สอง

expr2 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ ระบุสตริงอักขระที่จะแทรกในสตริงเป้าหมาย

INSERT(expr1, integer1, integer2, expr2)

LEFT

SELECT LEFT('123456', 3) FROM table

แสดงจำนวนอักขระที่ระบุจากด้านซ้ายของสตริง

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

integer เป็นจำนวนเต็มบวกที่แสดงถึงจำนวนอักขระจากด้านซ้ายของสตริงที่จะแสดง

LEFT(expr, integer)

LENGTH

LENGTH(Customer_Name)

แสดงความยาวของสตริงที่ระบุเป็นจำนวนอักขระ ระบบจะแสดงความยาวโดยไม่รวมอักขระช่องว่างที่ต่อท้าย

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

LENGTH(expr)

LOCATE

LOCATE('d' 'abcdef')

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

expr1 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ ระบุสตริงที่จะค้นหาให้สตริงนี้

expr2 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

ระบุสตริงที่จะค้นหา

LOCATE(expr1, expr2)

LOCATEN

LOCATEN('d' 'abcdef', 3)

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

expr1 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ ระบุสตริงที่จะค้นหาให้สตริงนี้

expr2 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ ระบุสตริงที่จะค้นหา

integer เป็นจำนวนเต็มบวก (ไม่ใช่ศูนย์) ที่แสดงถึงตำแหน่งเริ่มต้นที่จะเริ่มต้นค้นหาสตริงอักขระ

LOCATEN(expr1, expr2, integer)

LOWER

LOWER(Customer_Name)

แปลงสตริงอักขระเป็นตัวพิมพ์เล็ก

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

LOWER(expr)

OCTET_LENGTH

OCTET_LENGTH('abcdef')

แสดงจำนวนไบต์ของสตริงที่ระบุ

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

OCTET_LENGTH(expr)

POSITION

POSITION('d', 'abcdef')

แสดงตำแหน่งตัวเลขของ strExpr1 ในเอ็กซ์เพรสชันอักขระ ถ้าไม่พบ strExpr1 ฟังก์ชันจะแสดง 0

expr1 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ ระบุสตริงที่จะค้นหาในสตริงเป้าหมาย ตัวอย่างเช่น "d"

expr2 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ ระบุสตริงเป้าหมายที่จะค้นหา ตัวอย่างเช่น "abcdef"

POSITION(expr1, expr2)

REPEAT

REPEAT('abc', 4)

ทำซ้ำเอ็กซ์เพรสชันที่ระบุ n ครั้ง

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

integer เป็นจำนวนเต็มบวกที่แสดงถึงจำนวนครั้งที่สตริงอักขระจะทำซ้ำ

REPEAT(expr, integer)

REPLACE

REPLACE('abcd1234', '123', 'zz')

แทนที่อักขระจากเอ็กซ์เพรสชันของอักขระที่ระบุด้วยด้วยอักขระอื่น

expr1 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ นี่คือสตริงที่มีอักขระที่จะถูกแทนที่

expr2 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ สตริงที่สองนี้ระบุอักขระจากสตริงแรกที่จะถูกแทนที่

expr3 เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ สตริงที่สามนี้ระบุอักขระที่แทนที่ในสตริงแรก

REPLACE(expr1, expr2, expr3)

RIGHT

SELECT RIGHT('123456', 3) FROM table

แสดงจำนวนอักขระที่ระบุจากด้านขวาของสตริง

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

integer เป็นจำนวนเต็มบวกที่แสดงถึงจำนวนอักขระจากด้านขวาของสตริงที่จะแสดง

RIGHT(expr, integer)

SPACE

SPACE(2)

แทรกช่องว่าง

integer เป็นจำนวนเต็มบวกที่แสดงจำนวนช่องว่างที่จะแทรก

SPACE(expr)

SUBSTRING

SUBSTRING('abcdef' FROM 2)

สร้างสตริงใหม่โดยเริ่มต้นจากจำนวนอักขระคงที่ในสตริงเริ่มต้น

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

startPos เป็นจำนวนเต็มบวกที่แสดงถึงจำนวนอักขระจากจุดเริ่มต้นของด้านซ้ายของสตริง ซึ่งเป็นจุดที่จะผลลัพธ์จะเริ่มต้น

SUBSTRING([SourceString] FROM [StartPostition])

SUBSTRINGN

SUBSTRING('abcdef' FROM 2 FOR 3)

สร้างสตริงใหม่โดยเริ่มต้นจากจำนวนอักขระคงที่ในสตริงเริ่มต้น ซึ่งเหมือนกับ SUBSTRING

SUBSTRINGN มีอาร์กิวเมนต์จำนวนเต็มที่ช่วยให้คุณสามารถระบุความยาวของสตริงใหม่เป็นจำนวนอักขระ

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

startPos เป็นจำนวนเต็มบวกที่แสดงถึงจำนวนอักขระจากจุดเริ่มต้นของด้านซ้ายของสตริง ซึ่งเป็นจุดที่จะผลลัพธ์จะเริ่มต้น

SUBSTRING(expr FROM startPos FOR length)

TrimBoth

Trim(BOTH '_' FROM '_abcdef_')

ตัดอักขระนำหน้าและต่อท้ายที่ระบุออกจากสตริงอักขระ

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

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

TRIM(BOTH char FROM expr)

TRIMLEADING

TRIM(LEADING '_' FROM '_abcdef')

ตัดอักขระนำหน้าที่ระบุออกจากสตริงอักขระ

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

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

TRIM(LEADING char FROM expr)

TRIMTRAILING

TRIM(TRAILING '_' FROM 'abcdef_')

ตัดอักขระต่อท้ายที่ระบุออกจากสตริงอักขระ

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

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

TRIM(TRAILING char FROM expr)

UPPER

UPPER(Customer_Name)

แปลงสตริงอักขระเป็นตัวพิมพ์ใหญ่

expr เป็นเอ็กซ์เพรสชันที่ประมวลผลเป็นสตริงอักขระ

UPPER(expr)

เคล็ดลับในการใช้ LISTAGG ในฟังก์ชันสตริง

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

เชื่อมต่อหลายค่า:

ใช้ LISTAGG เพื่อเชื่อมต่อค่าสตริงหลายค่าเข้ากับหนึ่งเซลล์และหนึ่งแถว

LISTAGG([DISTINCT] <column to concatenate> BY <grouping column>) ON OVERFLOW TRUNCATE
  • DISTINCT - หากค่าซ้ำกัน ใช้อาร์กิวเมนต์นี้ลบค่าที่ซ้ำกันออก
  • ON OVERFLOW TRUNCATE - หากผลลัพธ์เกินความยาวสูงสุดที่ใช้ได้ ใช้อาร์กิวเมนต์นี้เพื่อตัดสตริงที่แสดงผล
ตัวอย่างข้อมูล
Number City State
12     New York    New York
14     New York    New York
30     Boston      Massachusetts
18     Salem    Massachusetts
12     Buffalo     New York
10     Buffalo     New York
20     Albany      New York

ตัวอย่างคำสั่งและเอาต์พุต

LISTAGG(City, ', ') เอาต์พุต "New York, New York, Boston, Salem, Buffalo, Buffalo, Albany"

LISTAGG(DISTINCT City, ', ') เอาต์พุต "New York, Boston, Salem, Buffalo Albany"

LISTAGG(City, ', ' ON OVERFLOW TRUNCATE '...') เอาต์พุต "New York, New York, Boston, Salem, Buffalo, ..."

ฟังก์ชันของระบบ

ฟังก์ชันของระบบ USER จะแสดงค่าเกี่ยวกับเซสชัน ตัวอย่างเช่น ชื่อผู้ใช้ที่คุณใช้ในการเข้าสู่ระบบ

ฟังก์ชัน ตัวอย่าง คำอธิบาย รูปแบบคำสั่ง

DATABASE

 

แสดงชื่อของหัวเรื่องที่คุณล็อกออน

DATABASE()

USER

 

แสดงชื่อผู้ใช้สำหรับโมเดลรูปแบบภาษาที่คุณเข้าสู่ระบบอยู่

USER()

ฟังก์ชันชุดเวลา

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

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

ฟังก์ชัน ตัวอย่าง คำอธิบาย รูปแบบคำสั่ง

AGO

SELECT Year_ID, AGO(sales, year, 1)

คำนวณค่าที่สรุปรวมของการวัดในช่วงเวลาที่ระบุในอดีต ตัวอย่างเช่น หากต้องการคำนวณรายได้ต่อเดือนในช่วงหนึ่งปีที่ผ่านมา ให้ใช้ AGO(Revenue, Year, 1, SHIP_MONTH) หากต้องการคำนวณรายได้ต่อไตรมาสในไตรมาสที่ผ่านมา ให้ใช้ AGO(Revenue, Quarter, 1)

AGO(MEASURE, TIME_LEVEL, OFFSET)

โดยที่:

  • MEASURE แสดงการวัดที่ใช้ในการคำนวณ เช่น รายได้
  • TIME_LEVEL แสดงช่วงเวลาที่ต้องเป็นปี, ไตรมาส, เดือน, สัปดาห์ หรือวัน
  • OFFSET แสดงจำนวนช่วงเวลาที่ใช้ในการคำนวณย้อนกลับ เช่น 1 คือหนึ่งปี

PERIODROLLING

SELECT Month_ID, PERIODROLLING (monthly_sales, -1, 1)

คำนวณการสรุปรวมของการวัดในช่วงเวลาหนึ่ง เริ่มต้นที่หน่วยเวลา x และสิ้นสุดที่หน่วยเวลา y จากเวลาปัจจุบัน ตัวอย่างเช่น PERIODROLLING สามารถคำนวณยอดขายสำหรับช่วงเวลาที่เริ่มต้นที่ไตรมาสหนึ่งก่อน และสิ้นสุดที่อีกไตรมาสหนึ่งหลังไตรมาสปัจจุบัน

PERIODROLLING(measure, x [,y])

โดยที่:

  • MEASURE แสดงชื่อของคอลัมน์การวัด
  • X คือจำนวนเต็มที่แสดงค่าออฟเซ็ตจากเวลาปัจจุบัน
  • Y คือจำนวนเต็มที่แสดงจำนวนหน่วยเวลาที่ฟังก์ชันจะคำนวณ
  • HIERARCHY คืออาร์กิวเมนต์ที่เลือกระบุได้ซึ่งแสดงชื่อของลำดับชั้นในไดเมนชันเวลา เช่น YR, MON, DAY ที่คุณต้องการใช้ในการคำนวณช่วงเวลา

TODATE

SELECT Year_ID, Month_ID, TODATE (sales, year)

คำนวณค่าที่สรุปรวมของการวัดจากจุดเริ่มต้นของช่วงเวลาจนถึงช่วงเวลาล่าสุด ตัวอย่างเช่น การคำนวณต้นปีถึงปัจจุบัน

ตัวอย่างเช่น หากต้องการคำนวณยอดขายตั้งแต่ต้นปีถึงปัจจุบัน ให้ใช้ TODATE(sales, year)

TODATE(MEASURE, TIME_LEVEL)

โดยที่:

  • MEASURE แสดงเอ็กซ์เพรสชันที่อ้างอิงคอลัมน์การวัดอย่างน้อยหนึ่งคอลัมน์ เช่น การขาย
  • TIME_LEVEL แสดงช่วงเวลาที่ต้องเป็นปี, ไตรมาส, เดือน, สัปดาห์ หรือวัน