【问题标题】:substring, replacing format [closed]子字符串,替换格式
【发布时间】:2015-01-21 02:42:13
【问题描述】:

你好,我有一行数据 1000 条记录,我需要用如下格式替换和子串:

我有这种格式 004320487091,我需要将其转换为 0.432.487.091 有什么帮助吗?

【问题讨论】:

  • MySQL、SQL Server 和 QSqlQuery 需要这个???
  • 这个问题似乎是题外话,因为发帖人似乎没有自己尝试过任何解决方案

标签: mysql sql sql-server sql-server-2008 qsqlquery


【解决方案1】:

你可以像这样使用 concat 加子字符串

SELECT concat(substring('004320487091',2,1)
,'.',
(substring('004320487091',3,3))
,'.',
(substring('004320487091',7,3))
,'.',
(substring('004320487091',10,3)))

【讨论】:

  • 它说没有 concat 函数低于错误消息 Msg 195, Level 15, State 10, Line 1 'concat' 不是公认的内置函数名称。 @Dudi Konfino
  • 我正在使用 sql server 2012,它运行良好
  • 我正在使用 2008r2,这个新功能可能不在 sql2008 中 @Dudi Konfino
  • 为什么要投反对票???
【解决方案2】:

如果字符串总是与您的问题中提到的格式相同,那么试试这个。 使用STUFF Function 获取结果。

select stuff(stuff(stuff(stuff('004320487091',3,0,'.'),7,1,'.'),11,0,'.'),1,1,'')

【讨论】:

  • 谢谢伙计,它工作得很好@NoDisplayName
猜你喜欢
  • 2015-11-14
  • 2020-12-19
  • 1970-01-01
  • 2018-09-19
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-15
相关资源
最近更新 更多