В одной из таблиц доступа ms, с которыми мы работаем, у нас есть текстовое поле с заданным размером. В конце этого поля есть дополнительный код, который изменяется в зависимости от ситуации. Я ищу способ удалить один из этих кодов, но даже если последняя часть усечена максимальным размером поля.MS-Access: Заменить «кронштейн»
Давайте назовем поле «поле» и код, который я ищу, чтобы удалить «abc-longcode».
Если я использую замену SQL-функции с помощью строки abc-longcode, запрос будет работать только тогда, когда код будет завершен.
Если я также хочу, чтобы мой запрос на обновление (который ничего не делал, кроме как удалить этот код в конце моего поля) работал над неполными кодами, как это перевести в ms-SQL?
Было бы необходимо удалить (или заменить «», чтобы быть точным) все из следующих (например, конечно, а не реальные коды):
abc-longcode
abc-longcod
abc-longco
abc-longc
abc-long
abc-lon
abc-lo
abc-l
Очевидно, что я мог бы сделать это с несколькими запросами. Каждый из них заменяет один из ожидаемых усеченных кодов ... но он не кажется оптимальным.
Кроме того, когда поле достаточно велико, чтобы получить весь код, в конце может появиться дополнительная информация, которую я также хочу сохранить, поэтому я не могу просто искать «abc-l» и удалять все, что следует: \
Этот запрос (или запросы, если я не могу найти лучший способ) будет храниться непосредственно в базе данных .mdb.
Так что, хотя я могу придумать несколько способов сделать это за пределами запроса ms-sql, это не помогает мне.
Любая помощь? Спасибо.
я предпочел бы чисто SQL путь к сделайте это, но я не думаю, что это можно сделать. Мне нравится этот ответ, так как он также позволяет мне вводить другие коды в ту же функцию, что и я буду искать. пример: def-longcode, def-longcod и т. д. Спасибо за помощь! –
чисто альтернатива SQL - это длинная последовательность функций замены в запросе, которую трудно читать, трудно поддерживать и уродливо.Доступ уже довольно уродлив :) –