Одесса: °С (вода °С)
Киев: 7°С

Тема: чтение инфы из файла по средствам MYSQL

Ответить в теме
Показано с 1 по 4 из 4
  1. Вверх #1
    Постоялец форума Аватар для Vitos_b
    Пол
    Мужской
    Сообщений
    1,797
    Репутация
    125

    По умолчанию чтение инфы из файла по средствам MYSQL

    SELECT * FROM TABLE WHERE COLUMN = 'ячейка из *.csv файла' -если это реально и вы знаете как это сделать, то напишите.... а я пока доки по sql почитаю...


  2. Вверх #2
    Посетитель Аватар для traveller
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    34
    Сообщений
    171
    Репутация
    25
    Цитата Сообщение от Vitos_b
    SELECT * FROM TABLE WHERE COLUMN = 'ячейка из *.csv файла' -если это реально и вы знаете как это сделать, то напишите.... а я пока доки по sql почитаю...
    Могу предложить только один вариант - с помощью хранимых процедур
    например в SQL Server 2000
    что-то типа этого (не моё, с готовой базы взял )

    Код:
    Create Function dbo.CsvStringToInt ( @Array varchar(1000)) 
    returns @IntTable table 
    (IntValue int)
    AS
    begin
    
    declare @separator char(1)
    set @separator = ','
    
    declare @separator_position int 
    declare @array_value varchar(1000) 
    
    set @array = @array + ','
    
    while patindex('%,%' , @array) <> 0 
    begin
    
      select @separator_position =  patindex('%,%' , @array)
      select @array_value = left(@array, @separator_position - 1)
    
    Insert @IntTable
    Values (Cast(@array_value as int))
    
      select @array = stuff(@array, 1, @separator_position, '')
    end
    
    return
    end
    и потом

    Код:
    Declare @TheCSV varchar(100)
    set @TheCSV = '100, 102 ,104, 106'
    
    select P.ProductID, ProductName
    from dbo.Products P
    where p.ProductID in (Select IntValue 
    from dbo.CsvStringToInt(@TheCSV) )

  3. Вверх #3
    Постоялец форума Аватар для Vitos_b
    Пол
    Мужской
    Сообщений
    1,797
    Репутация
    125
    спасибо traveller! у кого-нить есть что-то попроще?

  4. Вверх #4
    Новичок
    Пол
    Мужской
    Возраст
    33
    Сообщений
    39
    Репутация
    15
    Можно загружать данные из cvs-файла в таблицу командой LOAD DATA INFILE, а потом уже из этой таблицы делать SELECT * FROM ...
    Например:
    LOAD DATA INFILE 'с:\\1.csv' REPLACE INTO TABLE table1
    FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
    IGNORE 1 LINES

    SELECT * FROM table1

Ответить в теме

Похожие темы

  1. Введение в PHP, MySQL
    от Anonymous в разделе Программирование
    Ответов: 81
    Последнее сообщение: 21.03.2015, 02:17
  2. Проблемы с MySQL
    от DreamWeaver в разделе Программирование
    Ответов: 8
    Последнее сообщение: 17.08.2005, 11:16
  3. Название полей в MySql
    от Inferno в разделе Программирование
    Ответов: 3
    Последнее сообщение: 28.07.2005, 17:41
  4. mysql и C++ Builder
    от Jeno в разделе Программирование
    Ответов: 1
    Последнее сообщение: 23.11.2004, 17:44
  5. пмогите!!!!! (php,mysql, while();)
    от Jeno в разделе Программирование
    Ответов: 7
    Последнее сообщение: 23.11.2004, 17:07

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения