私は使っていますこれしばらくの間:
SUBSTRING(str_col, PATINDEX('%[^0]%', str_col), LEN(str_col))
しかし最近、「00000000」のようにすべて「0」の文字の列では、一致する「0」以外の文字が見つからないという問題が見つかりました。
私が見た代替テクニックは、以下を使用することですTRIM
。
REPLACE(LTRIM(REPLACE(str_col, '0', ' ')), ' ', '0')
埋め込まれたスペースがある場合、スペースが「0」に戻されると、スペースも「0」に変換されるため、問題が発生します。
スカラー UDF を避けようとしています。SQL Server 2005 の UDF にはパフォーマンス上の問題が多数あることがわかりました。
ベストアンサー1
SUBSTRING(str_col, PATINDEX('%[^0]%', str_col+'.'), LEN(str_col))