Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Замяна само на n-тия екземпляр на знак

За да замените първата инстанция на знак, бих препоръчал използването на STUFF и CHARINDEX функции. STUFF вмъква низ в друг низ. Той изтрива определена дължина от знаци в първия низ в началната позиция и след това вмъква втория низ в първия низ в началната позиция.

DECLARE @str varchar(100) = '^1402 WSN NIAMLAB^teertS htimS 005'
SELECT STUFF(@str, CHARINDEX('^', @str), 1, '&')

Имайте предвид, че можете също да използвате STUFF в заявка, както следва:

SELECT STUFF(<yourcolumn>, CHARINDEX('^', <yourcolumn>), 1, '&')
FROM <yourtable>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Типове курсори на SQL Server - Динамичен курсор само за препращане | Урок за SQL Server / Урок за TSQL

  2. Колко важен е редът на колоните в индексите?

  3. Ред на инсталиране/деинсталиране на VS 2008 и SQL Server 2008

  4. Сравнете 2 таблици в sql

  5. Избиране на N реда в SQL Server