| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| + | 加法 | 2 + 3 | 5 |
| - | 减法 | 2 - 3 | -1 |
| * | 乘法 | 2 * 3 | 6 |
| / | 整除 | 5 / 2 | 2 |
| % | 模除(求余) | 5 % 4 | 1 |
| ^ | 求幂(左边为底数,右边为指数) | 2.0 ^ 3.0 | 8 |
| |/ | 平方根 | |/ 25.0 | 5 |
| ||/ | 立方根 | ||/ 27.0 | 3 |
| ! | 阶乘 | 5 ! | 120 |
| !! | 阶乘(前置运算符) | !! 5 | 120 |
| @ | 绝对值 | @ -5.0 | 5 |
| & | 按位与 | 91 & 15 | 11 |
| | | 按位或 | 32 | 3 | 35 |
| # | 按位异或 | 17 # 5 | 20 |
| ~ | 按位非 | ~1 | -2 |
| << | 按位左移 | 1 << 4 | 16 |
| >> | 按位右移 | 8 >> 2 | 2 |
SELECT abs(-17.4);
| abs |
|------|
| 17.4 |
SELECT ceil(-42.8), floor(-42.8), round(12.45), trunc(12.8);
| ceil | floor | round | trunc |
|------|-------|-------|-------|
| -42 | -43 | 12 | 12 |
SELECT power(2, 3), sqrt(4), cbrt(27);
| power | sqrt | cbrt |
|-------|------|--------------------|
| 8 | 2 | 3.0000000000000004 |
SELECT exp(1.0), ln(2.718281828459045), log(100), log(2.0, 16.0);
| exp | ln | log | log |
|-------------------|--------------------|-----|-----|
| 2.718281828459045 | 0.9999999999999999 | 2 | 4 |
SELECT div(9,4), mod(9,4);
| div | mod |
|-----|-----|
| 2 | 1 |
SELECT degrees(1.57), radians(90.0);
| degrees | radians |
|-------------------|--------------------|
| 89.95437383553924 | 1.5707963267948966 |
SELECT pi();
| pi |
|-------------------|
| 3.141592653589793 |
SELECT sign(-8.4);
| sign |
|------|
| -1 |
SELECT random();
| random |
|---------------------|
| 0.07772749848663807 |
SELECT setseed(0);
SELECT random();
| random |
|--------------------|
| 0.8401877167634666 |
SELECT concat(2, NULL, 22), concat_ws(' and ', 2, NULL, 22);
| concat | concat_ws |
|--------|-----------|
| 222 | 2 and 22 |
SELECT 'Post'||'greSQL', 'Post'||NULL||'greSQL';
| ?column? | ?column? |
|------------|----------|
| PostgreSQL | (null) |
SELECT ascii('x');
| ascii |
|-------|
| 120 |
SELECT chr(120);
| chr |
|-----|
| x |
SELECT bit_length('jose'), length('jose'), octet_length('jose');
| bit_length | length | octet_length |
|------------|--------|--------------|
| 32 | 4 | 4 |
SELECT lower('TOM'), upper('tom'), initcap('hi THOMAS');
| lower | upper | initcap |
|-------|-------|-----------|
| tom | TOM | Hi Thomas |
SELECT substring('Thomas' from 2 for 3), substr('Thomas',2, 3);
| substring | substr |
|-----------|--------|
| hom | hom |
SELECT left('abcde', 2), right('abcde', 2);
| left | right |
|------|-------|
| ab | de |
SELECT substring('Thomas' from '...$'), substring('Thomas' from '%#"o_a#"_' for '#');
| substring | substring |
|-----------|-----------|
| mas | oma |
SELECT regexp_match('foobarbequebaz', '(bar)(beque)');
|regexp_match|
|------------|
|{bar,beque} |
SELECT regexp_matches('foobarbequebaz', 'ba.', 'g');
| regexp_matches |
|----------------|
| bar |
| baz |
SELECT position('om' in 'Thomas'), strpos('Thomas', 'om');
| position | strpos |
|----------|--------|
| 3 | 3 |
SELECT starts_with('alphabet', 'alph');
|starts_with|
|-----------|
|true |
SELECT replace('abcdefabcdef', 'cd', 'XX'), regexp_replace('Thomas', '.[mN]a.', 'M');
| replace | regexp_replace |
|--------------|----------------|
| abXXefabXXef | ThM |
SELECT translate('12345', '143', 'ax');
| translate |
|-----------|
| a2x5 |
SELECT overlay('Txxxxas' placing 'hom' from 2 for 4);
| overlay |
|---------|
| Thomas |
SELECT trim(both 'xyz' from 'yxTomxx');
| btrim |
|-------|
| Tom |
SELECT btrim('yxTomxx', 'xyz'), ltrim('yxTomxx', 'xyz'), rtrim('yxTomxx', 'xyz');
| btrim | ltrim | rtrim |
|-------|-------|-------|
| Tom | Tomxx | yxTom |
SELECT lpad('hi', 5, 'xy'), rpad('hi', 5, 'xy'), repeat('Pg', 4);
| lpad | rpad | repeat |
|-------|-------|----------|
| xyxhi | hixyx | PgPgPgPg |
SELECT format('Hello %s, %1$s', 'World');
| format |
|--------------------|
| Hello World, World |
SELECT md5('abc');
| md5 |
|----------------------------------|
| 900150983cd24fb0d6963f7d28e17f72 |
SELECT regexp_split_to_table('hello world', '\s+');
| regexp_split_to_table |
|-----------------------|
| hello |
| world |
SELECT split_part('abc~@~def~@~ghi', '~@~', 2);
| split_part |
|------------|
| def |
SELECT reverse('上海自来水');
| reverse |
|---------|
| 水来自海上 |
原文作者:SQL编程思想;如有侵权,请联系管理员删除。