1. ホーム
  2. sql

[解決済み] SQL Serverで先頭のゼロをトリミングするためのより良いテクニック?

2022-04-20 15:53:53

質問

今まで使っていたのは こん をしばらく続けます。

SUBSTRING(str_col, PATINDEX('%[^0]%', str_col), LEN(str_col))

しかし最近、'00000000'のようなすべての"0"文字を含む列で、一致する非"0"文字を見つけることができない問題を発見しました。

私が見た別の手法としては TRIM :

REPLACE(LTRIM(REPLACE(str_col, '0', ' ')), ' ', '0')

これは、スペースが埋め込まれている場合、スペースを"0"sに戻すと、スペースが"0"になってしまうという問題がある。

スカラーUDFを避けたいのですが、SQL Server 2005のUDFには性能上の問題が多く見受けられます。

どのように解決するのですか?

SUBSTRING(str_col, PATINDEX('%[^0]%', str_col+'.'), LEN(str_col))