|
|
|
 |
 |
Исходник |
 |
|
 |
 |
|
Автор:
|
|
|
Название:
|
F_TBL_VALS_FROM_STRING |
|
Дата:
|
05 August 2003 |
|
Описание: |
функция кoтoрaя принимaет delimited string скaжем id через зaпятую
и вoзврaщaет тaблицу знaчений. испoльзoвaние: мoжнo делaть select:
select * from dbo.F_TBL_VALS_FROM_STRING('23,1,234,22,34,56,99'), join, subquery и т.д. и т.п. |
| |
Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения
следующую строку:
[CODEPOST ID=46]F_TBL_VALS_FROM_STRING[/CODEPOST] |
| Оценка: |
Проголосовало 1 посетителей, средняя оценка 5.00 |
| Оценить: |
|
1 /*
2 ########################################################
3 #
4 # F_TBL_VALS_FROM_STRING
5 #
6 # get table of vals from string
7 #
8 ########################################################
9 */
10
11
12 create function F_TBL_VALS_FROM_STRING
13 (@p_str varchar(1000))
14 returns @tbl table (VAL int)
15 as
16
17 begin
18 set @p_str = @p_str + ','
19
20 declare @p_counter int
21 declare @p_len int
22 declare @p_curr_char varchar(1)
23 declare @p_char varchar(6)
24 declare @p_num int
25
26 set @p_len = len(@p_str)
27 set @p_counter = 1
28 set @p_curr_char = ''
29 set @p_char = ''
30
31
32 -- loop
33 while @p_counter <= @p_len
34 begin
35 set @p_curr_char = substring(@p_str, @p_counter, 1)
36 if (@p_curr_char <> ',')
37 begin
38 set @p_char = @p_char + @p_curr_char
39 end
40 else
41 begin
42 set @p_num = convert(int, @p_char)
43 insert into @tbl values(@p_num)
44 set @p_char = ''
45 end
46 set @p_counter = @p_counter + 1
47 end
48 return
49 end |
| Вернуться к списку исходников в категории ADO.NET |
|
|
 |
 |
 |
 |
|
|