以下mysql兼容,不兼容神通:

  1. UPDATE pro_c_copy1
  2. SET name = INSERT(name, 1, 3, FLOOR(RAND() * 90000000000 + 10000000000))
  3. 或者:
  4. UPDATE pro_c_copy1 SET name = INSERT(name, 2, 3, '***')

 以下mysql兼容,不兼容神通:

  1. UPDATE pro_c_copy1
  2. SET name = CONCAT(
  3. SUBSTR(name, 1, 2), -- 保留第一个字符,(字符串,开始位置,长度)
  4. '***', -- 插入的新字符串
  5. SUBSTR(name, -3) -- 保留从第四个字符开始到结尾的所有字符
  6. )
  7. where id =3;

以下mysql不兼容,兼容神通:

  1. UPDATE pro_c_copy1
  2. SET name = SUBSTRING(name, 2, 3) || '***' || SUBSTRING(name, 5)

字段的字符替换

  1. 把字段从【iye_supplier_eiw】批量更改成【iye_factory_eiw】:
  2. SELECT CONCAT(
  3. 'ALTER TABLE `', TABLE_NAME,
  4. '` CHANGE COLUMN `', COLUMN_NAME,
  5. '` `', REPLACE(COLUMN_NAME, 'supplier', 'factory'),
  6. '` ', COLUMN_TYPE, ';'
  7. ) AS alter_command
  8. FROM information_schema.columns
  9. WHERE TABLE_SCHEMA = 'xhfapi'
  10. and table_name='xxx_xhf_factory'
  11. AND COLUMN_NAME LIKE '%\_supplier\_%';

字段里的内容替换

  1. UPDATE test
  2. SET aname = REPLACE(aname, 'abc', 'xyz')
  3. WHERE aname LIKE '%abc%';