Postgres SELECT where the WHERE is UUID or string

后端 未结 3 1745
误落风尘
误落风尘 2020-12-24 05:01

I have the following simplified table in Postgres:

  • User Model
    • id (UUID)
    • uid (varchar)
    • name (varchar)
3条回答
  •  忘掉有多难
    2020-12-24 05:45

    You could check with a regular expression:

    SELECT *
    FROM user
    WHERE ('jsdfhiureeirh' ~ E'^[[:xdigit:]]{8}-([[:xdigit:]]{4}-){3}[[:xdigit:]]{12}$'
           AND id = 'jsdfhiureeirh')
          OR uid = 'jsdfhiureeirh';
    

提交回复
热议问题