pgsql从列2023-01-01 19:40:34中提取2023-01-01
时间: 2023-09-06 12:12:25 浏览: 62
要从 PostgreSQL 中的列中提取日期部分,您可以使用日期函数来完成。假设您的列名为 "timestamp_column",包含了形如 "2023-01-01 19:40:34" 的时间戳。
以下是提取日期部分的 SQL 查询示例:
```sql
SELECT DATE(timestamp_column) AS extracted_date FROM your_table;
```
将 "your_table" 替换为包含数据的表名。
这将返回一个名为 "extracted_date" 的列,其中包含从 "timestamp_column" 中提取的日期部分,即 "2023-01-01"。
您可以通过在查询中使用不同的条件和过滤器来适应您的具体需求。
相关问题
pgsql提取列202301261320852转换为2023-01-26 13:20:85.123
您可以使用 PostgreSQL 中的 `to_char` 函数将日期时间列转换为指定的字符串格式。例如,如果您有一个名为 `my_table` 的表,其中包含一个名为 `my_column` 的日期时间列,并且您想要将该列中的值“202301261320852”转换为格式为“YYYY-MM-DD HH24:MI:SS.US”的字符串,则可以使用以下查询:
```sql
SELECT to_char(to_timestamp(my_column::text, 'YYYYMMDDHH24MISSMS'), 'YYYY-MM-DD HH24:MI:SS.US') FROM my_table;
```
该查询将 `my_column` 中的值“202301261320852”转换为“2023-01-26 13:20:85.200”,其中最后两位被转换为毫秒值。它使用 `to_timestamp` 函数将日期时间列转换为时间戳,并使用 `'YYYYMMDDHH24MISSMS'` 格式字符串指定输入格式。然后,使用 `to_char` 函数将时间戳转换为指定的字符串格式。
如果您要更新表中的列,而不仅仅是将其转换为字符串并将其显示在查询结果中,则可以使用以下更新查询:
```sql
UPDATE my_table SET my_column = to_timestamp(my_column::text, 'YYYYMMDDHH24MISSMS');
```
这将 `my_column` 中的值“202301261320852”更新为“2023-01-26 13:20:85.200”。
pgsql查询列“2023-01-26 19:15:46”最后两位大于等于60
您可以使用如下的 SQL 语句来查询符合条件的行:
```
SELECT * FROM table_name WHERE column_name::time(0)::text LIKE '%60';
```
其中,`table_name` 是您的表名,`column_name` 是您要查询的列名。该 SQL 语句的含义是将 `column_name` 转换成时间类型,然后再将其转换成字符串类型,最后判断字符串中是否包含 `60`。这样就能查询出最后两位大于等于 `60` 的时间。