Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8785665
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T21:25:27+00:00 2026-06-13T21:25:27+00:00

My table is as below: a | b —– 1 | a 2 |

  • 0

My table is as below:

a | b
-----
1 | a
2 | b 

In my query, I want to change the order by clause depending on the type of the column.

So something like

get_data($order_by_column) {

  ....
  ORDER BY
    CASE 
      WHEN is_numeric($order_by_column) THEN $order_by_column
      ELSE CHAR_LENGTH($order_by_column)
    END
}

I’ve checked and it seems it’s quite difficult to determine the column type dynamically like in the above query. What would be an alternative (or alternatives) to achieve this?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T21:25:29+00:00Added an answer on June 13, 2026 at 9:25 pm

    You might be interested in pg_typeof():

    ORDER BY
       CASE pg_typeof($order_by_column)
          WHEN 'integer'::regtype THEN $order_by_column
    --    WHEN 'text'::regtype THEN ...
    --    WHEN 'boolean'::regtype THEN ...
          ELSE length($order_by_column)
       END
    

    Note that the legs of a CASE statement need to return matching types, which happens to be the case here, since $order_by_column and length($order_by_column) both return integer.

    More about object identifier types like regtype in the manual.

    Find all registered types:

    SELECT * from pg_type
    

    Again, more about pg_type in the manual.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need help with the SQL ORDER BY clause. In my table below I
In the HTML table below, I would like to add a third column that
I want to query the table below as to return the titles of the
for example I have the table below and want to rotate it like the
Would following the table below be the best way of determining the access type
I have a table like below: Table A ---------- ID Field1 Field2 Field3 1
I would like to group the table below and return parts_number while checking the
I have this page table below and I want to remove the numbering prefix
From the table below, how can I convert the Values column into multiple columns,
I have two table (below codes) , want to retrieve last row of trackers_data

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.