OData查詢選項 $filter
利用$filter語法可以篩選資料,其中提供了邏輯運算子 (Logical Operators),算術運算子(Arithmetic Operators) ,規範函數(Canonical Functions)以及 Lambda Operators供使用者運用
◎ 邏輯運算子語法

邏輯運算子範例
取得臺北公車動態定時,行駛速度大於等於100的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=Speed ge 100
取得臺北公車動態定時,行駛速度小於等於100的資料 https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=Speed le 100
取得臺北公車動態定時,行駛速度不及100,且行車狀況不等於正常的資料 https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=Speed lt 100 and BusStatus ne '正常'
取得臺北公車動態定時,行駛速度不及100,或行車狀況不等於正常的資料 https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=Speed lt 100 or BusStatus ne '正常'
◎ 算術運算子語法

算術運算子範例
取得臺北公車動態定時,行駛速度加2等於102的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=Speed add 2 eq 102
取得臺北公車動態定時,行駛速度減2等於102的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=Speed sub 2 eq 102
取得臺北公車動態定時,行駛速度除2等於102的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=Speed div 2 eq 102
取得臺北公車動態定時,行駛速度除2的餘數等於2的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=Speed mod 2 eq 2
◎ 規範函數語法

規範函數範例
取得臺北公車動態定時,車牌號碼第0個位置開始算的2個字元為41的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=substring(PlateNumb,0,2) eq '41'
取得臺北公車動態定時,車牌號碼的開頭為U7的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=startswith(PlateNumb,'U7')
取得臺北公車動態定時,車牌號碼開頭(第0個位置)為F的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=indexof(PlateNumb,'F') eq 0
取得臺北公車動態定時,車牌號碼為小寫的字母fa-185的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=tolower(PlateNumb) eq 'fa-185'
取得臺北公車動態定時,車牌號碼為大寫的字母FA-185的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=toupper(PlateNumb) eq 'FA-185'
取得臺北公車動態定時,車牌號碼為去空白後的FA-185的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=trim(PlateNumb) eq 'FA-185'
取得臺北公車動態定時,資料紀錄時間的年份為2015年的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=year(UpdateTime) eq 2015
取得臺北公車動態定時,資料紀錄時間的月份為9月的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=month(UpdateTime) eq 9
取得臺北公車動態定時,資料紀錄時間的日期為18號的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=day(UpdateTime) eq 18
取得臺北公車動態定時,資料紀錄時間的小時為17點的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=hour(UpdateTime) eq 17
取得臺北公車動態定時,資料紀錄時間的分鐘為第17分的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=minute(UpdateTime) eq 17
取得臺北公車動態定時,資料紀錄時間的秒數為第1秒的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=second(UpdateTime) eq 1
取得臺北公車動態定時,資料紀錄時間的毫秒為0.1秒的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=fractionalseconds(UpdateTime) eq 0.1
取得臺北公車動態定時,資料紀錄時間的日期格式為 2022-07-06T10:10:10+08:00的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=date(UpdateTime) eq 2022-07-06
取得臺北公車動態定時,資料紀錄時間的時間格式為 2022-07-06T10:10:10+08:00的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=time(UpdateTime) eq 10:10:10
取得臺北公車動態定時,行駛速度去小數直接往小的整數進位為12的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=floor(Speed) eq 12
取得臺北公車動態定時,行駛速度去小數直接往大的整數進位為12的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=ceiling(Speed) eq 12
取得臺北公車動態定時,車牌號碼前面串接台北兩個字為台北636-U7的資料https://tdx.transportdata.tw/api/basic/v2/Bus/RealTimeByFrequency/City/Taipei?$filter=concat('台北',PlateNumb) eq '台北636-U7'
◎ Lambda Operators語法

Lambda Operators範例
取得高鐵車次時,針對停靠時間資料底下的車站代碼,其中一筆的車站代碼 為1000的資料就回傳https://tdx.transportdata.tw/api/basic/v2/Rail/THSR/DailyTimetable?$filter=StopTimes/any(d:d/StationID eq '1000')
取得高鐵車次時,針對停靠時間資料底下的車站代碼,全部的車站代碼為1000的資料就回傳https://tdx.transportdata.tw/api/basic/v2/Rail/THSR/DailyTimetable?$filter=StopTimes/all(d:d/StationID eq '1000')
Last updated