>
является сокращением для extends Object>
. Вы можете прочитать ниже общую ссылку для более подробной информации.
>
"?"
обозначает любой неизвестный тип, он может представлять любой тип в коде для. Используйте этот шаблон, если вы не уверены в типе.
ArrayList> unknownList = new ArrayList(); //can accept of type Number
unknownList = new ArrayList(); //Float is of type Number
Примечание: >
означает anythings. Поэтому он может принимать тип, который не унаследован от класса Object
.
extends Object>
extends Object>
означает, что вы можете передать объект или подкласс, который расширяет класс Object
.
ArrayList extends Number> numberList = new ArrayList(); //Number of subclass
numberList = new ArrayList(); //Integer extends Number
numberList = new ArrayList(); // Float extends Number
T - используется для обозначения типа E - используется для обозначения элемента K - ключей V - значения N - для чисел Ссылка:
Я использовал PATINDEX
для сопоставления с первым и последним числом во входной строке, а затем использовал SUBSTRING
для извлечения числовой части
DECLARE @input VARCHAR(100);
DECLARE @temp VARCHAR(100);
DECLARE @first int;
DECLARE @last int;
SET @input ='حساب-س1-96658-305-651ساير سپرده ها'
SET @first = PATINDEX( '%[0-9]%',@input);
SET @last = PATINDEX('%[0-9]%', REVERSE(@input));
SET @temp = SUBSTRING(@input, @first, LEN(@input));
SELECT SUBSTRING(@temp, 1, @last + 2)
Это выводит 1-96658-305-651
в моем клиенте, так что вы Возможно, придется сделать REVERSE для результата, так как я немного запутался в том, как мой клиент обрабатывает арабские символы. Хотелось бы надеяться, что это поможет вам достаточно близко выяснить последние детали.
Я думаю, что это из-за того, что язык substring()
не работает должным образом. Когда я переворачиваю его и применяю substring()
, это сработало.
IF OBJECT_ID('FindNumbers_Slash_V2') IS NOT NULL
DROP FUNCTION [dbo].[FindNumbers_Slash_V2];
GO
CREATE FUNCTION [dbo].[FindNumbers_Slash_V2]
(
@InputString NVARCHAR(1000)
)
RETURNS NVARCHAR(1000)
AS
BEGIN
DECLARE @Word NVARCHAR(1000)
SET @Word = SUBSTRING(@InputString
,PATINDEX('%[0-9]%',@InputString)
,LEN(@InputString)+1 - PATINDEX('%[0-9]%',@InputString)
)
SET @Word = REVERSE(@Word)
SET @Word = SUBSTRING(@Word
,PATINDEX('%[0-9]%',@Word)
,LEN(@Word)+1 - PATINDEX('%[0-9]%',@Word)
)
RETURN REVERSE(@Word)
END