Sybase SQL удалить не удалить - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь написать оператор удаления в sybase sql, но он не выполняет то, что я хочу.

 delete
    from
        table1
    from
        table1 as g, inputfile as s
    where
        g.pool_no = substring(s.pool_no, 3, 8)
        and (g.fha_case_no = str_replace(ltrim(str_replace(substring(s.fha_case_no, 3, 15), '0', ' ')), ' ', '0')
        or g.fha_case_no = substring(s.fha_case_no, 3, 15))

Это то, что у меня есть. inputfile - это файл данных, который мы пытаемся импортировать в table1. Таблица очень беспорядочная, с тоннами записей для каждой комбинации pool_no и fha_case_no (отдельные ключевые столбцы для различения guish клиентов). Поэтому я хочу удалить записи, соответствующие этим двум полям, перед импортом нового, чтобы немного очистить таблицу. Однако этот оператор не выполняет никаких удалений. Когда я запускаю оператор без

g.pool_no = substring(s.pool_no, 3, 8)

, он работает и удаляет все, как задумано, поэтому, возможно, что-то не так с функцией подстроки.

Пример данных в этих столбцах

  • s.pool_no = = "231614"
  • s.fha_case_no = = "000000012343105"

подстрока и str_replace выполняются для удаления = "" и ведущие нули, чтобы соответствовать тому, как данные хранятся в таблице. есть предложения, как я могу это исправить?

...