订购记录

时间:2016-01-20 08:47:30

标签: sql regex postgresql sql-order-by

我正在尝试按以下顺序订购记录

1)特殊字符
2)只有数字
3)字母/字母数字

记录

G1
G10
G19
123
87
!@#$
G5
G25
G9

预期产出:

!@#$
87
123
G1
G5
G9
G10
G19
G25

SQL Fiddle

任何人都可以帮忙解决这个问题。

我试过了SUBSTRING(name FROM '^(.*?)( \\d+)?$')

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式按条件匹配订单

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".MainActivity"
    tools:showIn="@layout/app_bar_main">

    <FrameLayout
        android:id="@+id/content_main_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</android.support.v4.widget.NestedScrollView>

SQLFIDDLE-Demo