Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.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_Oracle - Fatal编程技术网

Sql 在不更改通配符的情况下设置字符串的中间部分

Sql 在不更改通配符的情况下设置字符串的中间部分,sql,oracle,Sql,Oracle,我需要用其他东西更新整个列的字符串的一部分。例如,1234567890和123XXXXX90的1234567890除外,123和90在整个列中不是常数。这是针对Oracle SQL的。对于SQL server: update yourtable set col = concat(left(col, 3), replicate('X', len(col) - 5), right(col,2)) 对于mysql: update yourtable set col = concat(left(c

我需要用其他东西更新整个列的字符串的一部分。例如,
1234567890
123XXXXX90
1234567890
除外,123和90在整个列中不是常数。这是针对Oracle SQL的。

对于
SQL server

update yourtable
set col =  concat(left(col, 3), replicate('X', len(col) - 5), right(col,2))
对于
mysql

update yourtable
set col =  concat(left(col, 3), repeat('X', length(col) - 5), right(col,2))
这是针对SQL Server的

select  stuff('1234567890', 4, 5, 'XXXXX')

mysql还是sql server?你是想替换第4到第8个字符,还是想替换除前3个字符和最后2个字符以外的所有字符?嗨,奈尔先生,这是为Oracle SQLokay写的……最初的标签让我很困惑。很好,你已经更改了这些标签。重复Ashwin的问题:这总是在第4和第8个字符之间吗?或者它总是同一个子字符串?还是你总是需要保留前三个和后两个字符?