我有一列,其中所有值均采用这种格式'###-##-#-##-##-###-##-#'我需要将所有值格式化为倒数第二个连字符被句号'###-##-#-#-##-##-###。##-#'
代替我可以根据字符串中的位置使用REPLACE吗?
例如将“ 068-27-0-40-12-012-00-0”更改为“ 068-27-0-40-12-012.00-0”
答案 0 :(得分:1)
假设您在sql server中,请使用STUFF方法完成工作。
SELECT STUFF('###-##-#-##-##-###-##-#',19,1,'。');
第一个参数-字符表达 第二个参数-从第n个位置开始 第三个参数-无需替换的职位 第四个参数-要替换的字符串
答案 1 :(得分:0)
大多数数据库支持left()
和right()
(在不支持的数据库中,您可以使用substr()
/ substring()
来达到相同的效果)。所以:
select left(col, 19) || '.' || right(col, 4)
您的数据库可能希望使用其他串联运算符/函数。
答案 2 :(得分:0)
select left([ColumnName], 19) + '.' + right([ColumnName], 4);