แชร์ผ่าน


คู่มือปรุงนิพจน์สําหรับโฟลว์ระบบคลาวด์

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

Note

นิพจน์เหล่านี้ทํางานในทุกระดับสิทธิ์การใช้งานของโฟลว์ระบบคลาวด์ Power Automate ค้นหาการอ้างอิงฟังก์ชันแบบเต็มในฟังก์ชันนิพจน์เวิร์กโฟลว์

การดําเนินการข้อความ

1. แปลงเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก

สถานการณ์: ปรับมาตรฐานการป้อนข้อมูลของผู้ใช้ก่อนการเปรียบเทียบหรือที่เก็บข้อมูล

นิพจน์: toUpper(variables('input')) or toLower(variables('input'))

ตัวอย่าง: toLower('John.Smith@Contoso.COM') ส่งกลับ john.smith@contoso.com

สำคัญ

toUpper() ไวต่ออักษรใหญ่-เล็ก เมื่อใช้ในการเปรียบเทียบ ถ้าคุณใช้ toUpper(A) = Bตรวจสอบให้แน่ใจว่าคุณนําไปใช้กับทั้งสองด้าน toUpper(A) = B ล้มเหลวถ้า B เป็นตัวพิมพ์ผสม

2.แยกสตริงย่อย( ซ้าย, ขวา, กลาง)

สถานการณ์: ดึงส่วนที่เฉพาะเจาะจงออกจากค่าข้อความ รับอักขระ N ตัวแรก N ตัวสุดท้าย หรือช่วงจากตรงกลาง

นิพจน์:

  • ซ้าย: substring(variables('text'), 0, 5)
  • ขวา: substring(variables('text'), sub(length(variables('text')), 5), 5)
  • กลาง: substring(variables('text'), 3, 4)

ตัวอย่าง: substring('Invoice-2026-0042', 8, 4) ส่งกลับ 2026

เคล็ดลับ

พารามิเตอร์ตัวที่สองคือดัชนีเริ่มต้น (ฐาน 0) พารามิเตอร์ที่สามคือ ความยาว ไม่ใช่ดัชนีสิ้นสุด substring('ABCDE', 1, 3)ส่งกลับ BCDไม่ใช่BC

3. แทนที่ข้อความ

สถานการณ์: ล้างหรือแปลงค่าข้อความ ลบอักขระ สลับตัวคั่น แก้ไขการจัดรูปแบบ

นิพจน์: replace(variables('input'), 'old', 'new')

ตัวอย่าง: replace('2026/03/18', '/', '-') ส่งกลับ 2026-03-18

Note

replace() ไวต่ออักษรใหญ่-เล็ก replace('Hello', 'hello', 'Hi') ส่งกลับ Hello ค่าที่ไม่เปลี่ยนแปลง แปลงเป็นกรณีทั่วไปก่อนถ้าจําเป็น

4. แยกสตริงลงในอาร์เรย์

สถานการณ์: แบ่งค่าที่คั่น (CSV, อีเมลคั่นด้วยเครื่องหมายอัฒภาค) เป็นแต่ละรายการสําหรับการวนรอบ

นิพจน์: split(variables('input'), ',')

ตัวอย่าง: split('alice@contoso.com,bob@contoso.com,carol@contoso.com', ',') ส่งกลับ ["alice@contoso.com","bob@contoso.com","carol@contoso.com"]

เคล็ดลับ

ช่องว่างหลังตัวคั่นจะถูกรักษาไว้ split('a, b, c', ',') ส่งกลับ ["a"," b"," c"] ด้วยช่องว่างนําหน้า ใช้ trim() บนแต่ละรายการในการดําเนินการเลือกหลังจากนั้น

5. เชื่อมเข้ากับตัวแบ่งบรรทัด (สําหรับอีเมล)

สถานการณ์: สร้างเนื้อหาข้อความหลายบรรทัดสําหรับการแจ้งเตือนทางอีเมลหรือ Teams

นิพจน์: concat('Line 1', decodeUriComponent('%0A'), 'Line 2')

Example: ใช้ decodeUriComponent('%0A') สําหรับเส้นใหม่หรือ decodeUriComponent('%0D%0A') สําหรับตัวแบ่งบรรทัดสไตล์ Windows

สำคัญ

การใช้ \n โดยตรงในนิพจน์ไม่ได้สร้างตัวแบ่งบรรทัด ซึ่งแสดงผลอักขระ \nสัญพจน์ ใช้ decodeUriComponent วิธีการนี้เสมอหรือใช้ <br> หากผลลัพธ์เป็น HTML

6. ตรวจสอบว่าสตริงมีข้อความหรือไม่

สถานการณ์: กําหนดเส้นทางโฟลว์ที่ยึดตามว่าบรรทัดหัวเรื่อง เนื้อความอีเมล หรือเขตข้อมูลมีคําสําคัญ

นิพจน์: contains(toLower(triggerBody()?['subject']), 'urgent')

Example: contains('Project Alpha Review', 'Alpha') ส่งกลับ true

Note

contains() ไวต่ออักษรใหญ่-เล็ก ตัดทั้ง haystack และเข็มในการtoLower()จับคู่ที่ไม่ตรงตามตัวพิมพ์ใหญ่-เล็กเสมอ: contains(toLower(value), toLower(search))

วันที่และเวลา

7. รับวันที่/เวลาปัจจุบันในรูปแบบที่เฉพาะเจาะจง

สถานการณ์: ประทับชื่อไฟล์ รายการบันทึก หรืออีเมลที่มีวันที่และเวลาปัจจุบัน

นิพจน์: formatDateTime(utcNow(), 'yyyy-MM-dd HH:mm')

ตัวอย่าง: ส่งกลับ 2026-03-18 14:30 (UTC) ใช้สําหรับ convertTimeZone() เวลาท้องถิ่น

เคล็ดลับ

utcNow() เป็น UTC เสมอ สําหรับเวลาท้องถิ่น ห่วงโซ่ที่มีconvertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time', 'yyyy-MM-dd HH:mm')

8. เพิ่มหรือลบวันจากวันที่

สถานการณ์: คํานวณวันที่ครบกําหนด วันหมดอายุ หรือวันที่แจ้งเตือนที่สัมพันธ์กับวันนี้

นิพจน์: addDays(utcNow(), 7) or addDays(utcNow(), -30)

ตัวอย่าง: ถ้าวันนี้คือ 2026-03-18addDays(utcNow(), 7) ส่งกลับ2026-03-25T...Z

Note

addDays() นอกจากนี้ยังยอมรับค่าเศษส่วน แต่ addHours() หรือ addMinutes() ชัดเจนกว่าสําหรับออฟเซตของวันย่อย อย่าใช้addDays(utcNow(), 0.5)เมื่อคุณหมายถึงaddHours(utcNow(), 12)

9. แปลงสตริงเป็นวันที่ (แยกวิเคราะห์)

สถานการณ์: เขตข้อมูลข้อความประกอบด้วยวันที่เช่น 03/18/2026 และคุณจําเป็นต้องใช้ในฟังก์ชันวันที่

นิพจน์: parseDateTime(variables('dateString'), 'en-US')

ตัวอย่าง: parseDateTime('03/18/2026', 'en-US') แสดงค่า วันที่เวลา ที่เหมาะสม

สำคัญ

หากไม่มีพารามิเตอร์ตําแหน่งที่ตั้ง การแยกวิเคราะห์จะขึ้นอยู่กับการตั้งค่าภูมิภาคของโฟลว์และสามารถสลับเดือน/วันได้ ระบุตําแหน่งที่ตั้งอย่างชัดเจนเสมอเพื่อหลีกเลี่ยง 03/04/2026 การถูกตีความว่าเป็นวันที่ 3 เมษายน เทียบกับวันที่ 4 มีนาคม

10. รับวันของสัปดาห์

สถานการณ์: เรียกใช้ตรรกะที่แตกต่างกันในวันทํางานเทียบกับวันหยุดสุดสัปดาห์ หรือสร้างรายงาน "รายงานวันจันทร์"

นิพจน์: dayOfWeek(utcNow())

ตัวอย่าง: ส่งกลับ 0 สําหรับวันอาทิตย์ 1 สําหรับวันจันทร์ ... 6 สําหรับวันเสาร์

เคล็ดลับ

วันอาทิตย์คือ 0ไม่ใช่7 ใช้สําหรับ or(equals(dayOfWeek(...), 0), equals(dayOfWeek(...), 6)) การตรวจสอบวันหยุดสุดสัปดาห์ เงื่อนไขเหมือน dayOfWeek(utcNow()) > 5 จะจับวันเสาร์ แต่พลาดวันอาทิตย์

11. คํานวณความแตกต่างระหว่างวันที่สองวัน

สถานการณ์: กําหนดจํานวนวันที่ผ่านไประหว่างวันที่ร้องขอและวันที่เสร็จสมบูรณ์

นิพจน์: div(sub(ticks(variables('endDate')), ticks(variables('startDate'))), 864000000000)

ตัวอย่าง: ถ้าเริ่มต้นคือ2026-03-01และสิ้นสุดคือ 2026-03-18ส่งกลับ17

Note

ไม่มีฟังก์ชันที่มีอยู่แล้วภายในdateDiff() คุณต้องใช้วิธีการเห็บ ตัว 864000000000 หารแปลงเครื่องหมายเป็นวัน สําหรับชั่วโมง ใช้ 36000000000; สําหรับนาที ใช้600000000

12. จัดรูปแบบวันที่สําหรับการแสดงผล

สถานการณ์: แปลงค่า datetime เป็นรูปแบบที่สามารถอ่านได้สําหรับอีเมลหรือรายงาน

นิพจน์: formatDateTime(variables('myDate'), 'MMMM dd, yyyy') or formatDateTime(variables('myDate'), 'MM/dd/yyyy')

ตัวอย่าง: formatDateTime('2026-03-18T14:30:00Z', 'MMMM dd, yyyy') ส่งกลับ March 18, 2026

สำคัญ

MM เป็นเดือน mm เป็นนาที formatDateTime(value, 'mm/DD/yyyy') 30/18/2026 สร้าง (นาทีและวัน) แทน03/18/2026 ใช้ dd (ตัวพิมพ์เล็ก) สําหรับวันของเดือน

อาร์เรย์และคอลเลกชัน

13. กรองอาร์เรย์ตามเงื่อนไข

สถานการณ์: รับเฉพาะรายการจากอาร์เรย์ที่ตรงกับเกณฑ์เฉพาะ

นิพจน์: ใช้การดําเนินการ ตัวกรองอาร์เรย์ กับ: @item()?['Status'] เท่ากับ 'Active'

ตัวอย่าง: ค่าที่ป้อน [{Name:'A', Status:'Active'}, {Name:'B', Status:'Closed'}] เข้าจะส่งกลับ [{Name:'A', Status:'Active'}]

Note

คุณไม่สามารถใช้นิพจน์ตัวกรองลักษณะแบบ whereอินไลน์ได้ ใช้การดําเนินการกรองอาร์เรย์ (ไม่ใช่นิพจน์) สําหรับการกรองตามนิพจน์ ให้ใช้ @equals(item()?['Status'], 'Active') ในโหมดขั้นสูงของตัวกรองอาร์เรย์

14. รับรายการแรกหรือสุดท้ายจากอาร์เรย์

สถานการณ์: เรียกใช้ระเบียนล่าสุดหรือรายการที่ตรงกันครั้งแรกจากรายการ

นิพจน์: first(variables('myArray')) or last(variables('myArray'))

ตัวอย่าง: first(body('Get_items')?['value']) แสดงรายการแรกจากคิวรี SharePoint

เคล็ดลับ

first() ในอาร์เรย์ที่ว่างเปล่า จะส่งกลับ nullไม่ใช่ข้อผิดพลาด ทําตามด้วยการตรวจสอบ null เสมอ: if(empty(variables('myArray')), null, first(variables('myArray')))

15. นับจํานวนรายการในอาร์เรย์

สถานการณ์: ตรวจสอบจํานวนผลลัพธ์ที่คิวรีส่งกลับ หรือตรวจสอบว่ารายการมีหน่วยข้อมูลเพียงพอหรือไม่

นิพจน์: length(variables('myArray'))

ตัวอย่าง: length(body('Get_items')?['value']) แสดงจํานวนของรายการจากคิวรี SharePoint list

Note

length() ทํางานกับทั้งอาร์เรย์และสตริง length('hello') แสดง 5 (จํานวนอักขระ) ตรวจสอบให้แน่ใจว่า คุณกําลังส่งผ่านอาร์เรย์ ไม่ใช่สตริงที่มีลักษณะเหมือนอาร์เรย์

16. สร้างสตริงที่คั่นด้วยเครื่องหมายจุลภาคจากอาร์เรย์ (join)

สถานการณ์: แปลงรายการของชื่อ อีเมล หรือ ID เป็นสตริงที่มีตัวคั่นเดียวสําหรับการแสดงผลหรือการเรียก API

นิพจน์: join(variables('myArray'), ', ')

ตัวอย่าง: join(createArray('Alice', 'Bob', 'Carol'), '; ') ส่งกลับ Alice; Bob; Carol

เคล็ดลับ

join() ทํางานกับอาร์เรย์ของสตริง ถ้าอาร์เรย์ของคุณมีวัตถุ ให้ใช้การดําเนินการ เลือก ก่อนเพื่อแยกเขตข้อมูลที่คุณต้องการ แล้วรวมผลลัพธ์

17. ตรวจสอบว่าอาร์เรย์มีค่าหรือไม่

สถานการณ์: ตรวจสอบว่ามีรายการเฉพาะในรายการก่อนดําเนินการต่อหรือไม่

นิพจน์: contains(variables('myArray'), 'searchValue')

ตัวอย่าง: contains(createArray('North', 'South', 'East', 'West'), 'East') ส่งกลับ true

Note

สําหรับอาร์เรย์ของออบเจ็กต์ contains() จะตรวจสอบวัตถุทั้งหมด ไม่ใช่ค่าคุณสมบัติ หากต้องการตรวจสอบว่าออบเจ็กต์ใด ๆ มีคุณสมบัติที่ตรงกันหรือไม่ ให้ใช้การดําเนินการกรองอาร์เรย์ แล้วตรวจสอบ length() ผลลัพธ์

JSON และวัตถุ

18. แยกวิเคราะห์สตริง JSON

สถานการณ์: การดําเนินการ HTTP หรือตัวเชื่อมต่อแบบกําหนดเองจะส่งกลับสตริง JSON ที่คุณจําเป็นต้องทํางานกับ เป็นข้อมูลที่มีโครงสร้าง

นิพจน์: json(body('HTTP'))

ตัวอย่าง: json('{"name":"Alice","age":30}') ส่งกลับวัตถุที่คุณสามารถเข้าถึงด้วย?['name']

สำคัญ

อย่าแยกวิเคราะห์สองเท่า ถ้าการดําเนินการดังกล่าวส่งกลับ JSON ที่แยกวิเคราะห์แล้ว (การดําเนินการของตัวเชื่อมต่อส่วนใหญ่ทํา) การตัดคําอีกครั้ง json() จะทําให้เกิดข้อผิดพลาด ใช้ json() เฉพาะบนการตอบสนองสตริงดิบเท่านั้น ไม่ใช้กับเอาต์พุตการดําเนินการที่เป็นออบเจ็กต์อยู่แล้ว

19. รับคุณสมบัติที่ซ้อนกันจาก JSON

สถานการณ์: เข้าถึงค่าที่ลึกภายในการตอบกลับ JSON ตัวอย่างเช่น response.data.items[0].name

นิพจน์: body('HTTP')?['data']?['items']?[0]?['name']

ตัวอย่าง: สําหรับ {"data":{"items":[{"name":"Widget"}]}}ส่งกลับWidget

สำคัญ

อย่าลืม ( ? การนําทางที่ปลอดภัย) body('HTTP')['data']['items'] แสดงข้อผิดพลาดถ้าระดับใดก็ตามเป็น Null ใช้ ?['key'] เสมอเพื่อทําการสํารวจอย่างปลอดภัย: แต่ละรายการ ? จะส่งกลับค่า null แทนการล้มเหลวถ้าค่าหลักหายไป

20. สร้างออบเจ็กต์ JSON จากค่า

สถานการณ์: สร้างเนื้อความคําขอสําหรับการดําเนินการ HTTP จากตัวแปรโฟลว์และเนื้อหาแบบไดนามิก

นิพจน์: json(concat('{"name":"', variables('name'), '","status":"', variables('status'), '"}'))

ตัวอย่าง: ด้วย name=Alice และ status=Activeจะส่งกลับ{"name":"Alice","status":"Active"}

เคล็ดลับ

ถ้าตัวแปรใด ๆ ประกอบด้วยเครื่องหมายอัญประกาศหรืออักขระพิเศษ JSON จะมีรูปแบบผิดปกติ เพื่อการก่อสร้างที่แข็งแกร่ง ให้ใช้การดําเนินการ เขียน ด้วย createObject('name', variables('name'), 'status', variables('status')) หรือสร้างในการดําเนินการเขียนโดยตรง

21. แปลงวัตถุเป็นสตริง

สถานการณ์: บันทึกวัตถุ JSON ไปยังเขตข้อมูลข้อความ หรือส่งข้อมูลที่มีโครงสร้างเป็นพารามิเตอร์สตริง

นิพจน์: string(variables('myObject'))

ตัวอย่าง: string(json('{"a":1}')) ส่งกลับ {"a":1} เป็นสตริง

Note

string() ในอาร์เรย์หรือวัตถุ ให้ JSON ขนาดกะทัดรัด (ไม่มีการพิมพ์ที่ค่อนข้างพิมพ์) ไม่มีภายในprettyPrint() ยอมรับ JSON ขนาดกะทัดรัดหรือสร้างข้อความที่จัดรูปแบบด้วยตนเอง

22. จัดการค่า null หรือค่าว่างอย่างปลอดภัย

สถานการณ์: ป้องกันข้อผิดพลาดเมื่อเขตข้อมูลอาจเป็น null ว่างเปล่า หรือหายไปทั้งหมด

นิพจน์: coalesce(triggerBody()?['optionalField'], 'default value')

ตัวอย่าง: ถ้า optionalField เป็น null จะ 'default value'ส่งกลับ ถ้าค่านั้นมีค่า ให้ส่งกลับค่านั้น

สำคัญ

coalesce() nullจัดการเท่านั้น ไม่ว่างเปล่าสตริง สําหรับสตริงที่ว่างเปล่า ให้รวมกับเงื่อนไข: if(empty(triggerBody()?['field']), 'default', triggerBody()?['field']) ฟังก์ชัน empty() ส่งกลับ true สําหรับทั้ง null และสตริง ''ว่าง

ตัวเลขและคณิตศาสตร์

23. ปัดเศษตัวเลข

สถานการณ์: แสดงเปอร์เซ็นต์หรือค่าสกุลเงินด้วยจํานวนตําแหน่งทศนิยมคงที่

นิพจน์: formatNumber(variables('value'), 'N2') (สําหรับการแสดงผล) หรือ div(mul(variables('value'), 100), 100) (สําหรับการตัดทอน)

ตัวอย่าง: formatNumber(3.14159, 'N2') ส่งกลับ 3.14 เป็นสตริง

Note

formatNumber() ส่งกลับสตริง ไม่ใช่ตัวเลข หากคุณต้องการทําคณิตศาสตร์เพิ่มเติมในค่าที่ปัดเศษแล้ว ให้แยกวิเคราะห์กลับ: float(formatNumber(variables('value'), 'N2'))

24. แปลงสตริงเป็นตัวเลข (และกลับ)

สถานการณ์: ฟอร์มหรืออีเมลให้ตัวเลขเป็นข้อความ และคุณจําเป็นต้องใช้คณิตศาสตร์

นิพจน์: int(variables('textNumber')) or float(variables('textNumber')) และ string(variables('numericValue'))

ตัวอย่าง: int('42') ส่งกลับ42 float('3.14')แสดง3.14 string(42)แสดง'42'

สำคัญ

int() เมื่อสตริงทศนิยมแสดงข้อผิดพลาด ซึ่งไม่ตัดทอน ถ้าตัวแปรอาจมีทศนิยม ให้ใช้float()ก่อน: int(float(variables('input'))) ด้วยค่าคงที่เช่น int('3.14')ข้อผิดพลาดจะถูกบันทึกในขณะบันทึก (InvalidTemplate) ไม่ใช่ขณะทํางาน

25. คํานวณเปอร์เซ็นต์

สถานการณ์: แสดงค่าเศษส่วนใดของอีกค่าหนึ่ง (ตัวอย่างเช่น อัตราการเสร็จสมบูรณ์ การใช้งาน)

นิพจน์: mul(div(float(variables('part')), float(variables('total'))), 100)

ตัวอย่าง: ด้วย part=75 และ total=200ส่งกลับ37.5

สำคัญ

การหารจํานวนเต็มจะปัดเศษทิ้ง div(75, 200) ส่งกลับ 0 เนื่องจากทั้งสองเป็นจํานวนเต็ม แปลง เป็นเลขทศนิยมก่อนเสมอ: div(float(75), float(200)) ส่งกลับ0.375

เงื่อนไขและตรรกะ

26. If/then/else ในนิพจน์

สถานการณ์: ส่งกลับค่าที่แตกต่างกันโดยยึดตามเงื่อนไข โดยไม่ต้องเพิ่มการดําเนินการเงื่อนไขไปยังโฟลว์

นิพจน์: if(equals(variables('status'), 'Approved'), 'Proceed', 'Wait')

ตัวอย่าง: ถ้าสถานะคือ ApprovedจะแสดงProceed มิฉะนั้นจะส่งกลับ Wait

Note

ฟังก์ชันif()ไม่สนับสนุน >< ตัวดําเนินการ โดยตรง ใช้ฟังก์ชันผู้ช่วยเหลือ: if(greater(variables('count'), 10), 'Over', 'Under') การเปรียบเทียบที่พร้อมใช้งาน: equals(), greater(), less(), greaterOrEquals(), lessOrEquals()

27. Coalesce (ค่าแรกที่ไม่ใช่ค่า null)

สถานการณ์: ลองใช้หลายเขตข้อมูลและใช้เขตข้อมูลแรกที่มีค่า เช่น ชื่อที่ต้องการ ชื่อที่แสดง อีเมล

นิพจน์: coalesce(triggerBody()?['preferredName'], triggerBody()?['displayName'], triggerBody()?['email'], 'Unknown')

ตัวอย่าง: ถ้า preferredName เป็น null และ displayName คือ 'Alice'จะแสดงAlice

เคล็ดลับ

coalesce() nullข้าม แต่ไม่ว่างเปล่าสําหรับ''สตริง สตริงที่ว่างเปล่าเป็นค่าที่ไม่ใช่ null ที่ถูกต้อง รวมกับตัวช่วยเหลือ ถ้าควรข้ามสตริงว่างด้วย: coalesce(if(empty(A), null, A), if(empty(B), null, B), 'default')

28. ตรวจสอบว่าค่าเป็น null หรือว่างเปล่า

สถานการณ์: ตรวจสอบว่าเขตข้อมูลที่จําเป็นมีค่าที่ใช้งานได้ก่อนประมวลผล

นิพจน์: empty(variables('input'))

ตัวอย่าง: empty('') ส่งกลับtrue empty(null)แสดงtrue empty('hello')แสดงfalse

สำคัญ

empty() จะไม่ทํางานกับตัวเลข empty(0) แสดงข้อผิดพลาด สําหรับตัวเลข ให้ใช้ equals(variables('num'), null) หรือตรวจสอบชนิดก่อน

29. เปรียบเทียบวันที่ (เป็นวันที่ A หลังจากวันที่ B หรือไม่)

สถานการณ์: ตรวจสอบว่ามีกําหนดเวลาหรือมีเหตุการณ์หนึ่งเกิดขึ้นก่อนเหตุการณ์อื่นหรือไม่

นิพจน์: greater(ticks(variables('dateA')), ticks(variables('dateB')))

ตัวอย่าง: greater(ticks('2026-03-18'), ticks('2026-03-15')) ส่งกลับ true (18 มีนาคม เป็นหลังจากวันที่ 15 มีนาคม)

สำคัญ

การเปรียบเทียบสตริงวันที่โดยตรงกับ greater('2026-03-18', '2026-03-15') เกิดขึ้นในการทํางานกับรูปแบบ ISO (YYYY-MM-DD) เนื่องจากจะเรียงลําดับตามหลักเลกซิโอกราฟ แต่ล้มเหลวสําหรับรูปแบบอื่น ๆ greater('03/18/2026', '12/01/2025')ส่งกลับfalseเนื่องจาก0<1 ใช้ ticks() เสมอสําหรับการเปรียบเทียบวันที่ที่เชื่อถือได้

30. ตรรกะบูลีน (AND/OR ในเงื่อนไข)

สถานการณ์: รวมหลายเงื่อนไขในนิพจน์เดียว ตัวอย่างเช่น อนุมัติยอดเงิน > AND 1000

นิพจน์: and(equals(variables('status'), 'Approved'), greater(variables('amount'), 1000))

ตัวอย่าง: ส่งกลับ true เฉพาะถ้าสถานะเท่ากับ Approved และจํานวนมากกว่า 1000

Note

คุณไม่สามารถเกี่ยวโยงand/orกับไวยากรณ์&&/|| ใช้ฟอร์มฟังก์ชันเสมอ สําหรับตรรกะที่ซับซ้อน ให้ซ้อน: or(and(A, B), and(C, D)) ความสามารถในการอ่านลดลงด้วยการซ้อนเชิงลึก พิจารณาใช้การดําเนินการเงื่อนไขกับหลายแถวแทน

การ์ดการอ้างอิงด่วน

งาน นิพจน์
ตัวพิมพ์ใหญ่ toUpper(value)
ตัวพิมพ์เล็ก toLower(value)
สตริงย่อย substring(value, start, length)
แทนที่ replace(value, old, new)
การแบ่ง split(value, delimiter)
ประกอบด้วย (ข้อความ) contains(toLower(value), toLower(search))
ตอนนี้ (จัดรูปแบบ) formatDateTime(utcNow(), 'yyyy-MM-dd')
เพิ่มวัน addDays(date, count)
วันในสัปดาห์ dayOfWeek(date) (0=อา.)
วันระหว่าง div(sub(ticks(end), ticks(start)), 864000000000)
รายการแรก first(array)
รายการสุดท้าย last(array)
นับ length(array)
เข้าร่วม join(array, delimiter)
แยกวิเคราะห์ JSON json(stringValue)
ที่พักปลอดภัย object?['key']
Null ที่ใช้แสดงแทน coalesce(value, default)
ว่างเปล่า empty(value)
ถ้า/อื่น ๆ if(condition, trueVal, falseVal)
เปรียบเทียบวันที่ greater(ticks(dateA), ticks(dateB))
Int จากสตริง int(stringValue)
ลอยจากสตริง float(stringValue)
และ and(condA, condB)
หรือ or(condA, condB)

หมายเหตุ: ผู้เขียนจัดทําบทความนี้ด้วยความช่วยเหลือจาก AI เรียนรู้เพิ่มเติม