W języku C# mamy metodę String.LastIndexOf
, aby uzyskać ostatni indeks położenia określonej litery dla danego ciągu znaków. Czy istnieje podobna funkcja do tego samego w SQL Server. Próbowałem użyć CHARINDEX
, ale nie mogłem go osiągnąć.Jaki jest najlepszy sposób uzyskania ostatniego znaku indeksowego w SQL 2008
43
A
Odpowiedz
74
trochę skomplikowane, ale można zrobić coś takiego:
REVERSE(SUBSTRING(REVERSE([field]),0,CHARINDEX('[char]',REVERSE([field]))))
+0
Miałem to ukryte z http://stackoverflow.com/questions/1024978/find-index-of-last-occurrence-of-a-sub-string-using-t-sql, ponieważ wydaje się dość często . – antinescience
+2
Odpowiedź tutaj jest bardziej zwięzła i skuteczna: http://stackoverflow.com/a/13610627/197591 – Neo
28
DECLARE @x VARCHAR(32) = 'xyzxyzyyythgetdghydgsh';
SELECT LEN(@x) - CHARINDEX('y', REVERSE(@x)) + 1;
0
Spróbuj to jedno, wynik analizy krok po kroku.
declare @string varchar(max)
declare @subString varchar(max)
set @string = 'this is a duplicated question, but may get some new answers, since tech chagne from time to time as we know';
set @subString = 'this is a duplicated question, but may get some new answers, since tech chagne from time to time'
--Find the string.lastIndexof(time)
select LEN(@String)
select LEN(@SubString)
select CHARINDEX('time', REVERSE(@string))
select reverse(@string)
select reverse('time')
SELECT LEN(@string) - CHARINDEX(reverse('time'), REVERSE(@string)) - Len('time') + 1
Powiązane problemy
- 1. W interfejsie API GitHub - jaki jest najlepszy sposób uzyskania ostatniego komunikatu zatwierdzenia związanego z każdym plikiem?
- 2. Jaki jest najlepszy sposób uzyskania cookie według nazwy w JavaScript?
- 3. Jaki jest najlepszy sposób uzyskania ostatniego wstawionego identyfikatora przy użyciu języka sqlite z języka Java?
- 4. Jaki jest najlepszy sposób uzyskania identyfikatora SID obecnego użytkownika?
- 5. Jaki jest najlepszy sposób uzyskania ostatnich 24 godzin w wyniku T-SQL?
- 6. Jaki jest najlepszy sposób zamknięcia gałęzi Mercurial?
- 7. Na serwerze SQL (2008), jeśli chcę filtrować pole łańcucha, które zaczyna się od czegoś, jaki jest najlepszy sposób?
- 8. Jaki jest najlepszy sposób wyświetlania HTML w Flexie?
- 9. Wymiana ostatniego znaku w łańcuchu
- 10. Jaki jest najlepszy sposób na wykrycie obecności SMO?
- 11. Doctrine 2 Jaki jest zalecany sposób uzyskania dostępu do właściwości?
- 12. Najlepszy sposób uzyskania PK Guid wstawionego wiersza
- 13. Jaki jest najlepszy sposób uzyskania funkcji podobnej do sscanf w Perlu?
- 14. Jaki jest najlepszy sposób uzyskania danych wejściowych od użytkownika w C?
- 15. Jaki jest najlepszy sposób uzyskania czasu trwania pliku audio w systemie Android?
- 16. Jaki jest najlepszy sposób uzyskania aktualnego adresu URL w Spring MVC?
- 17. Jaki jest najlepszy sposób uzyskania konkretnej wersji CocoaPod w czasie wykonywania?
- 18. Jaki jest najlepszy sposób uzyskania tekstowych interfejsów użytkownika (podobnych do ncurses) w Javie?
- 19. Jaki jest najlepszy sposób przetestowania aplikacji szyny?
- 20. Jaki jest najlepszy sposób rejestrowania aktywności użytkowników?
- 21. Jaki jest najlepszy sposób na seed srand()?
- 22. Jaki jest najlepszy sposób profilowania wykonywania javascript?
- 23. Jaki jest najlepszy sposób tworzenia wdrożeń ClickOnce
- 24. Jaki jest najlepszy sposób odczytu GetResponseStream()?
- 25. Jaki jest najlepszy sposób implementacji protokołów?
- 26. Jaki jest najlepszy sposób uczenia się WCF?
- 27. Jaki jest najlepszy sposób wykonywania jQuery .change()
- 28. Jaki jest najlepszy sposób obsługi wielu działań?
- 29. Jaki jest najlepszy sposób na wdrożenie "timera"?
- 30. Jaki jest najlepszy sposób na naukę CUDA?
Hej, to "powielone" pytanie dotyczy SQL Server 2008, a drugie dotyczy SQL Server 2000. Istnieje między nimi różnica. –
Dodaj więc odpowiedź na inne pytanie. – JasonMArcher