1

データベースを IBM Informix から SQL Server に変更しました。デフォルトの動作としての ERP は、すべてのデータを の列サイズを埋める適切なスペースで保存しますvarchar

Informix はこれらの適切なスペースを返しませんでしたが、現在 SQL Server では、すべての選択に対してこれらの適切なスペースを返しています。これは大きな問題です。

を使用しようとしましたがSET ANSI_PADDING OFF、まだ適切なスペースを取得しています。

私の問題の解決策を知っている人はいますか?

すべての選択で、すべての varchar 列のすべての適切なスペースを削除したいと思います。

わかりました。

4

5 に答える 5

0

私があなたを理解しているなら、あなたはあなたのアプリケーションにすべてのSQLコードを持っています、そしてあなたはそれを通り抜けてそれを変更してアプリケーションを押し出すことを望まないでしょう。それを望まない場合は、SQLサーバーの呼び出しをハイジャックして変換するアプリを作成する以外に、データをサニタイズする必要があります。

于 2013-01-08T22:49:47.777 に答える
0

ERP が正しく機能するためにスペースを残す必要がある場合、私が確認できる唯一の解決策は、すべての選択クエリをRTRIMデータに更新することです。

これは単に、データベース システムを変更するために支払わなければならない代償かもしれません。

于 2013-01-08T22:58:22.560 に答える
0

を使用してはRTRIMどうですか?

SELECT RTRIM(ColumnName)
FROM tableName

これらの列を更新して末尾の空白を削除する場合は、

UPDATE tableName
SET columnName = RTRIM(columnName)
于 2013-01-08T15:32:49.613 に答える
0

RTRIM() 関数を使用するか、データ型を varchar() または nvarchar() に変更します

于 2013-01-08T15:32:52.013 に答える
0

以下のように、クエリの空白を削除しようとしましたか?

SELECT ステートメント (MS SQL) では、どのように文字列をトリムしますか?

于 2013-01-08T15:33:08.197 に答える