pgsql从“20220903193757”提取年月日和时间
时间: 2023-08-18 13:09:26 浏览: 129
可以使用 PostgreSQL 内置的日期/时间函数来实现。假设你要从字符串 "20220903193757" 中提取年月日和时间,可以使用以下语句:
```
SELECT
SUBSTRING('20220903193757' FROM 1 FOR 4) AS year,
SUBSTRING('20220903193757' FROM 5 FOR 2) AS month,
SUBSTRING('20220903193757' FROM 7 FOR 2) AS day,
SUBSTRING('20220903193757' FROM 9 FOR 2) || ':' ||
SUBSTRING('20220903193757' FROM 11 FOR 2) || ':' ||
SUBSTRING('20220903193757' FROM 13 FOR 2) AS time;
```
这将返回以下结果:
```
year | month | day | time
------+-------+-----+----------
2022 | 09 | 03 | 19:37:57
```
其中,SUBSTRING 函数用于提取指定位置的子字符串,FROM 关键字用于指定起始位置和长度。将时间字段的时、分、秒用冒号连接起来,即可得到时间字符串。
相关问题
pgsql 从时间戳获取年月日
在 PostgreSQL 中,如果你有一个包含时间戳的字段,如 `timestamp` 或 `timestamptz` 类型的数据,你可以使用 SQL 的内置函数来提取其中的年、月、日部分。例如:
```sql
SELECT EXTRACT(YEAR FROM your_timestamp_column) AS year,
EXTRACT(MONTH FROM your_timestamp_column) AS month,
EXTRACT(DAY FROM your_timestamp_column) AS day
FROM your_table;
```
这里 `EXTRACT` 函数用于从给定的时间戳中提取指定的部分,如 YEAR (年), MONTH (月), DAY (日)等。
如果你直接想在 SELECT 语句中显示格式化的日期,可以使用 `TO_DATE` 或 `DATE_TRUNC` 函数结合 `FORMAT` 函数:
```sql
SELECT FORMAT('%Y-%m-%d', DATE_TRUNC('day', your_timestamp_column)) AS formatted_date
FROM your_table;
```
这将返回格式为 'YYYY-MM-DD' 的字符串。
pgsql从“20220903193757”提取“20220903”和“19:37:57”
可以使用 PostgreSQL 内置的日期/时间函数来实现。假设你要从字符串 "20220903193757" 中提取日期和时间,可以使用以下语句:
```
SELECT
SUBSTRING('20220903193757' FROM 1 FOR 8) AS date,
SUBSTRING('20220903193757' FROM 9 FOR 2) || ':' ||
SUBSTRING('20220903193757' FROM 11 FOR 2) || ':' ||
SUBSTRING('20220903193757' FROM 13 FOR 2) AS time;
```
这将返回以下结果:
```
date | time
-----------+----------
20220903 | 19:37:57
```
其中,SUBSTRING 函数用于提取指定位置的子字符串,FROM 关键字用于指定起始位置和长度。将时间字段的时、分、秒用冒号连接起来,即可得到时间字符串。
阅读全文
相关推荐














