我有这样的数据
112219/18
112219/1
但我只想要
18
1
如何编写sql代码?我使用sql server
答案 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