Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于字符串中位置的SQL替换值_Sql_Sql Server_Replace - Fatal编程技术网

基于字符串中位置的SQL替换值

基于字符串中位置的SQL替换值,sql,sql-server,replace,Sql,Sql Server,Replace,我有一个列,其中的值都是这种格式“----”我需要将所有值的格式设置为第二个到最后一个连字符替换为句点“----” 我可以根据字符串中的位置使用REPLACE吗 例如,将“068-27-0-40-12-012-00-0”更改为“068-27-0-40-12-012.00-0”大多数数据库支持左和右,在不支持左和右的数据库中,可以使用substr/substring达到相同的效果。因此: select left(col, 19) || '.' || right(col, 4) 您的数据库可能更喜

我有一个列,其中的值都是这种格式“----”我需要将所有值的格式设置为第二个到最后一个连字符替换为句点“----”

我可以根据字符串中的位置使用REPLACE吗

例如,将“068-27-0-40-12-012-00-0”更改为“068-27-0-40-12-012.00-0”

大多数数据库支持左和右,在不支持左和右的数据库中,可以使用substr/substring达到相同的效果。因此:

select left(col, 19) || '.' || right(col, 4)

您的数据库可能更喜欢不同的连接运算符/函数。

假设您在sql server中,请使用STUFF方法完成工作

选择物品'---',19,1'.'

第一个参数-字符表达式 第二个参数-从第n个位置开始 第三个参数-要更换的位置数量
第四个参数-要替换的字符串

用您正在使用的数据库标记您的问题。样本数据也会有所帮助。
select left([ColumnName], 19) + '.' + right([ColumnName], 4);