Как написать SQL для выбора только несколько букв? - PullRequest
0 голосов
/ 20 марта 2019

У меня есть такие данные

112219/18
112219/1

Но я хочу только

18
1

Как мне написать SQL-код? Я использую SQL Server

Ответы [ 4 ]

2 голосов
/ 20 марта 2019

Вы можете использовать вышеуказанные решения или скалярную функцию, например, такую:

CREATE FUNCTION dbo.YourFunctionName
(
@param nvarchar(max)
)
RETURNS NVARCHAR(50)
AS BEGIN
    DECLARE @char char = N'/'
    IF @Param IS NULL OR NOT @param LIKE '%'+@char+'%' RETURN @param;
    SET @param = SUBSTRIING(@param, CHARINDEX(@char, @param)+1, LEN(@param))
    RETURN @param;
END

После этого вы можете использовать ее:

SELECT dbo.YourFunctionName(YourDataColumn) FROM YourTable
2 голосов
/ 20 марта 2019

Пожалуйста, попробуйте это.

SELECT SUBSTRING(colName, CHARINDEX('/', colName) + 1, LEN(colName)) FROM tableName
0 голосов
/ 20 марта 2019

вы можете извлечь из этого запроса

select right(yourColumnName, charindex('/', reverse(yourColumnName)) - 1) from yourTable
0 голосов
/ 20 марта 2019

Если вы используете sql-сервер, вы можете попробовать использовать right () и charindex ()

    select  RIGHT(my_col, LEN(my_col) - CHARINDEX ('/', my_col))
    from my_table 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...