Mer*_*ian 5 sql substring dbeaver
我正在尝试从表名称中的 int 元素中的 0-7 位置获取子字符串,因此当我插入此值时
select substring(column_name,0, 6) as new_name from table_name
Run Code Online (Sandbox Code Playgroud)
我正进入(状态
SQL错误[42883]:错误:函数pg_catalog.substring(bigint,integer,integer)不存在
提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
位置:8
org.postgresql.util.PSQLException:错误:函数 pg_catalog.substring(bigint,整数,整数)不存在
提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。位置:8
所以在向 varchar(8) 添加一些转换之后
select substring(varchar(8),column_name,0, 6) as new_name from table_name
Run Code Online (Sandbox Code Playgroud)
得到这个
SQL 错误 [42601]:错误:“,”位置或附近的语法错误:28
org.postgresql.util.PSQLException:错误:“,”位置或附近的语法错误:28
我不知道我做错了什么。谢谢。
您可以cast将列int设为varchar,然后制作substring从1到7
select substring(cast([your-column] as varchar(100)),1, 7)
Run Code Online (Sandbox Code Playgroud)
例子:
declare @a int ='1234567890';
select substring(cast(@a as varchar(100)),1, 7) as res
Run Code Online (Sandbox Code Playgroud)
输出 :
res
1234567
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16939 次 |
| 最近记录: |