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

SQL Server 2005 Използване на CHARINDEX() За разделяне на низ

Не бих казал, че е лесно или очевидно, но само с две тирета можете да обърнете низа и не е твърде трудно:

with t as (select 'LD-23DSP-1430' as val)
select t.*,
       LEFT(val, charindex('-', val) - 1),
   SUBSTRING(val, charindex('-', val)+1, len(val) - CHARINDEX('-', reverse(val)) - charindex('-', val)),
       REVERSE(LEFT(reverse(val), charindex('-', reverse(val)) - 1))
from t;

Отвъд това и може да искате да използвате split() вместо това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на BINARY_CHECKSUM(*) с множество таблици

  2. Защо типът DATETIME на SQL Server спестява време в тикове от 1/300 от секундата?

  3. Как да намерите езика по подразбиране на потребителя в SQL Server (T-SQL)

  4. Как да инсталирате sqlcmd &bcp на Ubuntu

  5. Какво представлява jTDS JDBC Connect URL към MS SQL Server 2005 Express