sql >> データベース >  >> RDS >> PostgreSQL

フィールドの最初の数値部分を抽出します

    SELECT substring(address, '^\\d+') AS heading_number
    FROM   tbl
    WHERE  zip = 12345
    AND    address ILIKE '3%'
    

    文字列の先頭から1桁以上を返します。
    アンカーを省略します^ 最初の数字のシーケンスが必要な場合 開始時のシーケンスの代わりに文字列内 。例:

    SELECT substring('South 13rd street 3452435 foo', '\\d+');
    

    substring()について読む および正規表現 マニュアルに記載されています。
    最近のバージョン(8.0以降、standard_conforming_strings = on )、エスケープ文字列構文 を使用します このように:

    SELECT substring('South 13rd street 3452435 foo', E'\\d+');
    

    または単に:

    SELECT substring('South 13rd street 3452435 foo', '\d+');
    



    1. 1つのパラメータで複数の値を渡す

    2. MySQLがレコードを削除しない

    3. SQL Server 2008 - VARCHAR 値と NVARCHAR 値の異なる並べ替え順序

    4. mysql_close():5は、4行目のC:\ wamp \ www \ Includes\footer.phpにある有効なMySQL-Linkリソースではありません