我有一个SQL查询,它用这种格式返回17个数字。
06037-11
我需要在破折号前加0,所以它是:
060370-11
有什么简单的方法吗?我认为东西是一种选择,但我不明白。
编辑我正在使用的
发布于 2014-03-20 15:14:27
以前的响应包括使用正则表达式支持的Teradata14.x示例。以下内容将在Teradata13.x或Teradata12.x中工作,而不支持正则表达式:
SELECT SUBSTRING('06037-11' FROM 1 FOR (POSITION('-' IN '06037-11') -1))
|| '0-'
|| SUBSTRING('06037-11' FROM (POSITION('-' IN '06037-11') + 1))发布于 2014-03-20 14:29:23
甲骨文的一种方式:
with qry as
(select '06037-11' code from dual)
select regexp_replace(code, '-', '0-') from qry;发布于 2014-03-20 14:28:28
既然您谈论的是STUFF,我建议您使用Server:
select stuff(your_column, charindex('-', your_column), 0, '0')
from your_tableSQLFiddle演示
https://stackoverflow.com/questions/22535849
复制相似问题