web-dev-qa-db-ja.com

PostgreSQLクエリの一部として整数を文字列に変換するにはどうすればよいですか?

PostgreSQLクエリの一部として整数を文字列に変換するにはどうすればよいですか?

そのため、たとえば、次のものが必要です。

SELECT * FROM table WHERE <some integer> = 'string of numbers'

<some integer>の長さは1〜15桁です。

78
spyd3rr

数値は最大15桁まで使用できるため、64ビット(8バイト)整数にキャストする必要があります。これを試して:

SELECT * FROM table
WHERE myint = mytext::int8

::キャスト演算子は歴史的ですが便利です。 PostgresはSQL標準構文にも準拠しています

myint = cast ( mytext as int8)

intと比較するリテラルテキストがある場合は、intをテキストにキャストします。

SELECT * FROM table
WHERE myint::varchar(255) = mytext
82
Bohemian

この方法で整数を文字列にキャストできます

intval::text

そしてあなたの場合

SELECT * FROM table WHERE <some integer>::text = 'string of numbers'
96
Brugolo

これを行うことができます:

SELECT * FROMテーブルWHERE cast(YOUR_INTEGER_VALUE as varchar)= 'string of numbers'

3
djgupta