4

SQL Server 2008、Visual Web Developer 2012、および .net 4.0 を使用しています。SQL Server でテーブルを作成し、いくつかの列を追加しました。一部の列に datatype を指定しnchar(10)ました。

今私の問題は、列タイプの値として10文字未満の文字列を挿入すると、値nchar(10)をフェッチすると空白が挿入されて10文字の文字列が完成することです。

"a"type の列に挿入するnchar(10)と、値を再度取得すると次のようになります。"a "

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

3

nvarchar(10)正常に動作するように文字列を定義します

于 2012-11-04T07:55:43.200 に答える
3

空白を削除するには、次のようにします。

SELECT RTRIM(CAST(col As NVARCHAR(10))) FROM test

SQLFIDDLEをチェックしてください

于 2012-11-04T05:35:11.363 に答える
0

データ型を変更したくない場合は、出力からスペースを TRIM する必要があります

SELECT
   RTRIM("a      ") AS ColumnName
FROM MyTable

ただし、これは、列を使用しているすべての場所でこれを行う必要があるたびに意味します。VARCHAR(10) または NVARCHAR(20) を使用することをお勧めします。VAR... は可変長を意味します。したがって、文字列が最大 10 文字でない場合、スペースは追加されません

最終SQL

SELECT
   RTRIM(ColumnName) AS ColumnName
FROM myTable
于 2012-11-04T05:29:06.670 に答える