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

Как да разделя низ, за ​​да мога да получа достъп до елемент x?

Не вярвам, че SQL Server има вградена функция за разделяне, така че освен UDF, единственият друг отговор, който знам, е да присвоя функцията PARSENAME:

SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2) 

PARSENAME взема низ и го разделя на символа за точка. Той приема число като втори аргумент и това число определя кой сегмент от низа да се върне (работи отзад напред).

SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 3)  --return Hello

Очевидният проблем е, когато низът вече съдържа точка. Все още мисля, че използването на UDF е най-добрият начин...някакви други предложения?



  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 към база данни на Java

  2. Как да предадете параметър на mssql заявка в възел js

  3. Как да докирам/раздокарам заявката на Windows и други раздели в SQL Server Management Studio (SSMS) - SQL Server/TSQL Урок, част 21

  4. Как да предотвратите атаки с инжектиране на SQL чрез Secure

  5. UNION резултатите от множество съхранени процедури