Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql日期减法_Sql_Postgresql_Datetime - Fatal编程技术网

Postgresql日期减法

Postgresql日期减法,sql,postgresql,datetime,Sql,Postgresql,Datetime,我如何提出有效的请求,如: UPDATE b2c SET tranche = '18 - 25' WHERE (dateofbirth::date BETWEEN NOW()::date - 18 'year' AND NOW()::date - 25 'year') 感谢您的帮助您可以使用Postgres cast语法: dateofbirth::date BETWEEN (NOW() - interval '25 year')::date AND (NOW() - in

我如何提出有效的请求,如:

UPDATE b2c SET tranche = '18 - 25'
WHERE (dateofbirth::date BETWEEN NOW()::date - 18 'year' AND NOW()::date - 25 'year')

感谢您的帮助

您可以使用Postgres cast语法:

dateofbirth::date BETWEEN 
    (NOW() - interval '25 year')::date AND 
    (NOW() - interval '18 year')::date
UPDATE b2c SET tranche = '18 - 25'
WHERE dateofbirth::date BETWEEN 
    NOW()::date - '25y'::interval AND 
    NOW()::date - '18y'::interval

您可以使用Postgres强制转换语法:

UPDATE b2c SET tranche = '18 - 25'
WHERE dateofbirth::date BETWEEN 
    NOW()::date - '25y'::interval AND 
    NOW()::date - '18y'::interval

您可以使用Postgres强制转换语法:

UPDATE b2c SET tranche = '18 - 25'
WHERE dateofbirth::date BETWEEN 
    NOW()::date - '25y'::interval AND 
    NOW()::date - '18y'::interval

您可以使用Postgres强制转换语法:

UPDATE b2c SET tranche = '18 - 25'
WHERE dateofbirth::date BETWEEN 
    NOW()::date - '25y'::interval AND 
    NOW()::date - '18y'::interval
通过使用和

输出:

age
integer
--------
      20
所以你可以写下下面的条件

UPDATE b2c SET tranche = '18 - 25'
WHERE EXTRACT(year FROM age(dateofbirth))::int >=18 
 AND  EXTRACT(year FROM age(dateofbirth))::int <=25
更新b2c集合分期付款='18-25'
其中摘录(从年龄开始的年份(出生日期))::int>=18
和提取(从年龄开始的年份(出生日期)):int

输出:

age
integer
--------
      20
所以你可以写下下面的条件

UPDATE b2c SET tranche = '18 - 25'
WHERE EXTRACT(year FROM age(dateofbirth))::int >=18 
 AND  EXTRACT(year FROM age(dateofbirth))::int <=25
更新b2c集合分期付款='18-25'
其中摘录(从年龄开始的年份(出生日期))::int>=18
和提取(从年龄开始的年份(出生日期)):int

输出:

age
integer
--------
      20
所以你可以写下下面的条件

UPDATE b2c SET tranche = '18 - 25'
WHERE EXTRACT(year FROM age(dateofbirth))::int >=18 
 AND  EXTRACT(year FROM age(dateofbirth))::int <=25
更新b2c集合分期付款='18-25'
其中摘录(从年龄开始的年份(出生日期))::int>=18
和提取(从年龄开始的年份(出生日期)):int

输出:

age
integer
--------
      20
所以你可以写下下面的条件

UPDATE b2c SET tranche = '18 - 25'
WHERE EXTRACT(year FROM age(dateofbirth))::int >=18 
 AND  EXTRACT(year FROM age(dateofbirth))::int <=25
更新b2c集合分期付款='18-25'
其中摘录(从年龄开始的年份(出生日期))::int>=18

和摘录(从年龄算起的年份(出生日期)):谢谢,但我没有“任何想法更新”,但是我在“出生日期”中有一些日期,比如1995-08-04,1994-08-07,1993-11-11…对不起,我不得不将25岁改为18岁。。。“我不知道争论的顺序有多重要……”麦克伯尼纠正道。日期颠倒了。这是最古老的第一次。谢谢,但我没有“更新的想法”,但是我在“出生日期”中有一些日期,比如1995-08-04,1994-08-07,1993-11-11…对不起,我刚刚不得不将25年改为18年。。。“我不知道争论的顺序有多重要……”麦克伯尼纠正道。日期颠倒了。这是最古老的第一次。谢谢,但我没有“更新的想法”,但是我在“出生日期”中有一些日期,比如1995-08-04,1994-08-07,1993-11-11…对不起,我刚刚不得不将25年改为18年。。。“我不知道争论的顺序有多重要……”麦克伯尼纠正道。日期颠倒了。这是最古老的第一次。谢谢,但我没有“更新的想法”,但是我在“出生日期”中有一些日期,比如1995-08-04,1994-08-07,1993-11-11…对不起,我刚刚不得不将25年改为18年。。。“我不知道争论的顺序有多重要……”麦克伯尼纠正道。日期颠倒了。它是最古老的第一个。