pgsql将"19850101"转换为19850101
时间: 2023-07-21 13:43:21 浏览: 63
在 PostgreSQL 中,可以使用 `to_date()` 函数将字符串转换为日期格式,然后再使用 `to_char()` 函数将日期格式转换为字符串格式。具体的转换方式如下:
```
SELECT to_char(to_date('19850101', 'YYYYMMDD'), 'YYYYMMDD');
```
这条 SQL 语句的执行结果是:`19850101`,即将字符串 `'19850101'` 转换为日期格式 `'1985-01-01'`,然后再将日期格式转换为字符串格式 `'19850101'`。
相关问题
pgsql将19850101转换为19850101
PostgreSQL中可以使用TO_CHAR函数将日期类型转换为字符串类型。您可以使用以下语句将日期19850101转换为字符串类型的19850101:
```SELECT TO_CHAR('19850101'::date, 'YYYYMMDD');```
其中,'19850101'::date将字符串类型的日期转换为日期类型,'YYYYMMDD'表示将日期类型转换为年份-月份-日期格式的字符串类型。
执行以上语句后,将返回字符串类型的19850101。
pgsql将整列"19850101"转换为19850101
如果要将整列的字符串类型的日期转换为数值类型的日期,可以使用 `to_date()` 函数将字符串转换为日期格式,再使用 `extract()` 函数获取日期中的年、月、日,并使用数值类型拼接成想要的格式。具体的转换方式如下:
假设有一个表 `table1`,其中有一个名为 `date_str` 的字符串类型的日期列,可以使用以下 SQL 语句将整列转换为数值类型的日期:
```
SELECT
extract(year FROM to_date(date_str, 'YYYYMMDD')) * 10000
+ extract(month FROM to_date(date_str, 'YYYYMMDD')) * 100
+ extract(day FROM to_date(date_str, 'YYYYMMDD')) AS date_num
FROM table1;
```
这条 SQL 语句的执行结果是一个包含数值类型日期的列,其格式为 `YYYYMMDD`,例如 `19850101`。其中,`extract(year FROM to_date(date_str, 'YYYYMMDD'))` 表示获取日期中的年份,`extract(month FROM to_date(date_str, 'YYYYMMDD'))` 表示获取日期中的月份,`extract(day FROM to_date(date_str, 'YYYYMMDD'))` 表示获取日期中的日份。然后将它们拼接起来即可得到数值类型的日期。
阅读全文