Ternaarne tehe ehk ternaarne operatsioon ehk ternaarne operaator on matemaatikas tehe aarsusega 3 ehk kolme muutuja funktsioon.

Üldjuhul on tegemist kujutusega kolme hulga otsekorrutisest neljandasse hulka.

Ternaarne algebraline tehe hulgal A on kujutus otsekorrutiselt A×A×A hulka A.

Programmeerimiskeeltes C, C++, C#, Java ja Perl on ternaarseks tehtemärgiks ?:.

Selle argumendid on üks kahendmuutuja (loogiline muutuja) ja kaks lauset ning selle tagastusväärtus on esimese lause tagastusväärtus, kui kahendmuutuja on tõene, ja teise lause tagastusväärtus, kui kahendmuutuja on väär.

Näiteks z = (x > y) ? x : y; omistab muutujale z väärtuse x, kui x on suurem kui y, ja muudel juhtudel väärtuse y (lause sätib z võrdseks x ja y maksimumiga).

Mõned programmeerijad peavad selle ternaarse tehtemärgi kasutamist halvaks praktikaks, kuigi ta võib teatud juhtudel olla kasulik if-lausete kuhjamise takistamiseks.