Запуск командного файла для обновления поля со странным символом в БД SQL Server - PullRequest
0 голосов
/ 13 октября 2009

В моей базе данных SQL Server есть таблица Field. В таблице есть поле под названием «Единицы».

У меня есть пакетный скрипт, который вставляет сюда много вещей, используя OSQL, и одна из введенных вещей - это знак фунта (£). Когда OSQL выполняет запросы, он вместо этого преобразует знак £ в -ú.

Мне нужен отдельный пакетный файл, который обновляет все это в конце

, например

update field set units = '£' where units = '-ú'

Этот sql выше работает нормально, если я запускаю запрос, но через OSQL он не работает.

Я обнаружил, что редактирование файла в режиме DOS в TextPad позволяет мне вставить символ DOS для £, и этот бит работает нормально, но я не знаю, как заменить часть -ú, чтобы я мог выполнить замену .

Есть идеи?

Ответы [ 3 ]

1 голос
/ 13 октября 2009

Понял

update field set units = 'œ' WHERE units = '-£'

Я взял символ из своей базы данных, вставил его в файл, который находился в режиме DOS, затем сохранил. Затем я открыл этот файл в TextPad, и он выглядел как - £

Работает нормально

Спасибо

0 голосов
/ 13 октября 2009

OSQL запускает хранимую процедуру:

CREATE PROCEDURE FixIt
AS

update field set units = '£' where units = '-ú'

GO
0 голосов
/ 13 октября 2009

Я считаю, что вам нужно передать значение ASCII символа, используя chr (XX), где XX - значение ASCII для '-ú'

...