pgsql将整列'202301261304718'从左到右取前14位
时间: 2023-12-24 17:02:33 浏览: 87
可以使用 PostgreSQL 中的 SUBSTRING 函数和 UPDATE 语句来从一个列中截取指定长度的子字符串,然后更新该列中的值,语法如下:
```sql
UPDATE your_table SET your_column = SUBSTRING(your_column FROM 1 FOR 14);
```
在这个语句中,首先使用了一个 UPDATE 语句来更新指定表中的指定列,然后使用 SUBSTRING 函数来从该列中截取指定长度的子字符串。FROM 1 表示从第一个字符开始截取,FOR 14 表示截取 14 个字符。执行这个语句后,该列中的所有值都会被更新为从左到右取前14位的结果。请将上述语句中的 your_table 和 your_column 替换成实际的表名和列名。
相关问题
pgsql将'202301261304718'从左到右取前14位
可以使用 PostgreSQL 中的 SUBSTRING 函数来从左到右截取指定长度的子字符串,语法如下:
```sql
SELECT SUBSTRING('202301261304718' FROM 1 FOR 14);
```
在这个语句中,SUBSTRING 函数的第一个参数是要截取的字符串,FROM 1 表示从第一个字符开始截取,FOR 14 表示截取 14 个字符,从而达到将 '202301261304718' 从左到右取前14位的目的。请将上述语句中的字符串 '202301261304718' 替换成实际的列名或字符串。
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'))` 表示获取日期中的日份。然后将它们拼接起来即可得到数值类型的日期。
阅读全文