Разделение строк с помощью mysql

<DataGridTextColumn Header="ID">
    <DataGridTextColumn.HeaderStyle>
        <Style TargetType="DataGridColumnHeader">
            <Setter Property="Background" Value="Green"/>
        </Style>
    </DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>
23
задан Rana Ghosh 2 May 2017 в 15:05
поделиться

3 ответа

MySQL не включает функцию для разделения строки с разделителями. Однако создать собственную функцию очень просто.

Пользовательская функция:

CREATE [AGGREGATE] FUNCTION function_name
RETURNS {STRING|INTEGER|REAL|DECIMAL}

Функция:

CREATE FUNCTION SPLIT_STR(
  x VARCHAR(255),
  delim VARCHAR(12),
  pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
       delim, '');

Использование:

SELECT SPLIT_STR(string, delimiter, position)
1
ответ дан 29 November 2019 в 03:14
поделиться

Вы можете создать свою собственную функцию:

CREATE FUNCTION String_split(inp VARCHAR(255),del VARCHAR(255),loc INT)
RETURNS VARCHAR(255)
RETURN REPLACE(Substring(Substring_index(inp, del,loc),LENGTH(Substring_index(inp, del, loc-1)) + 1),del, '');
0
ответ дан 29 November 2019 в 03:14
поделиться

CHAR_LENGTH - вернуть правильную длину в символах

CREATE FUNCTION SPLIT_STR(
  x VARCHAR(255),
  delim VARCHAR(12),
  pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
       CHAR_LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
       delim, '');
-1
ответ дан 29 November 2019 в 03:14
поделиться
Другие вопросы по тегам:

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