postgresql - 在 to_date 中使用子查询变量
问题描述
我需要用这样的子查询更新我的日期,我没有得到日期编号。
UPDATE grh
SET date = to_date('subquery.year-subquery.week_number','YYYYWW')
FROM (SELECT year,week_number
FROM grh) AS subquery
我如何在 to_date 函数中使用 subquery.year 变量?
尝试 1:所以我试过这个:
UPDATE grh SET date = to_date(week_number, 'WW');
我有这种错误:
函数 to_date(integer,unknown) 不存在。
但是如果您查看此文档:https ://www.techonthenet.com/postgresql/functions/to_date.php
他们说 WW 存在,用于指定周数。我的“日期”列是日期格式。
尝试 2:这是有效的:
UPDATE grh SET date = to_date('42018', 'WWYYYY');
一旦我尝试使用这样的变量,它就不起作用:
UPDATE grh SET date = to_date(string_agg(week_number,2018), 'WWYYYY');
解决方案
在 Postgres(和大多数其他 SQL 风格)中,连接运算符是||
UPDATE grh SET date = to_date(week_number||'2018', 'WWYYYY');
推荐阅读
- scala - 在 Scala 中解析大型 CSV 文件
- python - 如何比较两个字典并提取其他值
- cakephp - 我如何通过 cakehphp app_local 中的变量设置电子邮件
- javascript - 如何在 JavaScript 中恢复逗号格式的值
- spring - Spring Batch ItemWriteListener and SkipListener doesn't work hand in hand
- flutter - Dart - 将接口作为参数传递
- reactjs - 运行纱线时跨环境不改变环境变量
- javascript - 使时间独立于浏览器时区
- ios - macos 苹果支持的最低版本是多少?
- php - 不使用 laravel 使用 maatweb 将数据保存到 excel