C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■87849 / )  SQLServerの文字列を変換する方法
□投稿者/ 夜叉丸 (123回)-(2018/07/05(Thu) 15:16:02)

分類:[.NET 全般] 

文字列の両端に指定した文字があれば削除したいのですが
どうすればよいのでしょうか?

'ABC'→'ABC'
'-ABC'→'ABC'
'-ABC-'→'ABC'
'ABC-'→'ABC'

力づくでやってみると以下のようになるのですが
もっと Replace や LTrim や RTrim などを使って
スマートにできる方法はありますか?

SELECT ABC
FROM (
 SELECT CASE WHEN SUBSTRING(ABC, LEN(ABC), 1) = '-' THEN SUBSTRING(ABC, 1, LEN(ABC) - 1) ELSE ABC END AS ABC
 FROM (
  SELECT CASE WHEN SUBSTRING(ABC, 1, 1) = '-' THEN SUBSTRING(ABC, 2, LEN(ABC) - 1) ELSE ABC END AS ABC
  FROM (
   SELECT 'ABC' AS ABC
   UNION SELECT '-ABC' AS ABC
   UNION SELECT 'ABC-' AS ABC
   UNION SELECT '-ABC-' AS ABC
  ) AS ABC1
 ) ABC2
) ABC3
返信 編集キー/


管理者用

- Child Tree -