如何编写只选择一些字母的sql?

时间:2019-03-20 06:48:17

标签: sql sql-server string

我有这样的数据

112219/18
112219/1

但我只想要

18
1

如何编写sql代码?我使用sql server

4 个答案:

答案 0 :(得分:2)

请尝试这个。

SELECT SUBSTRING(colName, CHARINDEX('/', colName) + 1, LEN(colName)) FROM tableName

答案 1 :(得分:2)

您可以使用上述解决方案,或者使用像这样的标量函数:

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 :(得分:0)

如果您使用的是sql-server,则可以尝试使用right()和charindex()

    select  RIGHT(my_col, LEN(my_col) - CHARINDEX ('/', my_col))
    from my_table 

答案 3 :(得分:0)

您可以从此查询中提取

select right(yourColumnName, charindex('/', reverse(yourColumnName)) - 1) from yourTable