2

postgreSQLクエリで電話番号をフォーマットできますか? 電話番号の欄があります。電話番号は 1234567890 として保持されます。postgres が (123) 456-7890 にフォーマットされるかどうか疑問に思っています。私はクエリの外でこれを行うことができます.phpを使用していますが、(123) 456-7890のようなクエリの出力を得ることができればいいでしょう.

4

5 に答える 5

4

これはあなたのために働くでしょう:

SELECT
  '( ' || SUBSTRING(CAST(NUMBER AS VARCHAR) FROM 1 FOR 3) || ' ) ' 
 || SUBSTRING(CAST(NUMBER AS VARCHAR) FROM 4 FOR 3) || '-' 
 || SUBSTRING(CAST(NUMBER AS VARCHAR) FROM 7 FOR LENGTH(CAST(NUMBER AS VARCHAR)))
FROM
  YOURTABLE

また、ここにSQLFiddleがあります。

于 2013-10-28T19:31:08.920 に答える
1

SUBSTRING関数を使用する

何かのようなもの:

  SELECT 
 '(' || SUBSTRING((PhoneNumber, 1, 3) + ') ' || SUBSTRING(PhoneNumber, 4,3) || '-' || SUBSTRING((PhoneNumber,7,4)
于 2013-10-28T19:24:41.070 に答える
0
SELECT '(' || SUBSTRING(phone FROM 1 FOR 3) || ') ' || 
              SUBSTRING(phone FROM 4 FOR 3) || '-' || 
              SUBSTRING(phone FROM 7 FOR 4) 
FROM table;

これにより、すべての電話番号が (123) 456-7890 の形式で返されますが、列ヘッダーはありません。これを解決するには、次の SELECT ステートメントを使用します。

SELECT '(' || SUBSTRING(phone FROM 1 FOR 3) || ') ' || SUBSTRING(phone FROM 4 FOR 3) || '-' || SUBSTRING(phone FROM 7 FOR 4) AS Phone FROM 章;

お役に立てれば!

于 2018-11-13T10:52:26.717 に答える