2012-04-20 9 views
6

私はテーブルQuestionsとカラムDescriptionを持っています。その列の値は次のようになります。カラム値の文字列が数字で始まるかどうかを調べる

This is First Heading, 
1 This is Subheading one, 
1.2 This is subheading Question 
This is Second heading 
2 This is subheading Two. 
2.1 This is Subheading Question1 

列の値が0-9で始まるかどうかは、各行ごとにどのように判断できますか。

SQL Server 2008+の機能はありますか?あなたは、次のクエリを使用することができます

答えて

17
SELECT CASE WHEN ISNUMERIC(SUBSTRING(LTRIM(Description), 1, 1)) = 1 
     THEN 'yes' 
     ELSE 'no' 
     END AS StartsWithNumber 
FROM Questions 
0
select true where cast(substring('1 This is Subheading', 1, 1) as int) between 0 AND 9 
1

。最初に余分なスペースを左側から削除し、最初の左の文字を取得します。このクエリは、1以外の数値でない場合は0を返します。

Select ISNUMERIC(Left(Ltrim('1 This is Subheading'),1)) As Number 
3
SELECT * FROM Questions WHERE Description LIKE '[0-9]%' 
関連する問題