1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-03 07:08:01 +00:00

Add Checking The Type Of A Value as a postgres til.

This commit is contained in:
jbranchaud
2015-07-05 10:48:22 -05:00
parent 36266e5212
commit b7dfcd4a8b
2 changed files with 42 additions and 0 deletions

View File

@@ -55,6 +55,7 @@ smart people at [Hashrocket](http://hashrocket.com/).
### postgres
- [Auto Expanded Display](postgres/auto-expanded-display.md)
- [Checking The Type Of A Value](postgres/checking-the-type-of-a-value.md)
- [Configure The Timezone](postgres/configure-the-timezone.md)
- [Count Records By Type](postgres/count-records-by-type.md)
- [Default Schema](postgres/default-schema.md)

View File

@@ -0,0 +1,41 @@
# Checking The Type Of A Value
The `pg_typeof()` function allows you to determine the data type of anything
in Postgres.
```sql
> select pg_typeof(1);
pg_typeof
-----------
integer
(1 row)
> select pg_typeof(true);
pg_typeof
-----------
boolean
(1 row)
```
If you try it on an arbitrary string, it is unable to disambiguate which
string type (e.g. `text` vs `varchar`).
```sql
> select pg_typeof('hello');
pg_typeof
-----------
unknown
(1 row)
```
You just have to be a bit more specific.
```sql
> select pg_typeof('hello'::varchar);
pg_typeof
-------------------
character varying
(1 row)
```
[source](http://www.postgresql.org/docs/9.3/static/functions-info.html#FUNCTIONS-INFO-CATALOG-TABLE)