Как я могу вытащить пользовательский шаблон в SQL-запрос? [закрыто]

является сокращением для . Вы можете прочитать ниже общую ссылку для более подробной информации.



"?" обозначает любой неизвестный тип, он может представлять любой тип в коде для. Используйте этот шаблон, если вы не уверены в типе.

ArrayList unknownList = new ArrayList(); //can accept of type Number
unknownList = new ArrayList(); //Float is of type Number

Примечание: означает anythings. Поэтому он может принимать тип, который не унаследован от класса Object.


означает, что вы можете передать объект или подкласс, который расширяет класс Object.

ArrayList numberList = new ArrayList(); //Number of subclass
numberList = new ArrayList(); //Integer extends Number
numberList = new ArrayList(); // Float extends Number 

T - используется для обозначения типа E - используется для обозначения элемента K - ключей V - значения N - для чисел Ссылка:

0
задан Dale Burrell 16 January 2019 в 08:45
поделиться

2 ответа

Я использовал 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 для результата, так как я немного запутался в том, как мой клиент обрабатывает арабские символы. Хотелось бы надеяться, что это поможет вам достаточно близко выяснить последние детали.

0
ответ дан Joakim Danielson 16 January 2019 в 08:45
поделиться

Я думаю, что это из-за того, что язык 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
0
ответ дан Zeki Gumus 16 January 2019 в 08:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: