2012-03-27 9 views
0

私はこれを理解することに近いと知っていますが、少し助けが必要です。私がやろうとしているのは、すべて特定のテーブルの列を取得することですが、最初の4文字を切り捨てます。たとえば、列の値が「KPIT08L」の場合、結果は08Lです。ここまでは私がこれまでにしてきたことですが、望みの結果を得られません。SQLクエリで文字列操作を行う方法

SELECT LEFT(FIELD_NAME, 4) 
FROM TABLE_NAME 

答えて

2

最初に、leftが一番左の文字を表示します。あなたが特定の場所から始まる文字が必要な場合は、midを検討する必要があります。

select mid (field_name,5) ... 

を第二に、あなたがすべてで、パフォーマンス、移植性と拡張性を重視場合は、「サブ列」のこの種のは、操作が一般的であるべき避けてください。通常は、列をまとめて分割するよりもはるかに簡単です(より速く)。

つまり、最初の4文字をそれぞれの列に、残りを別々の列に入れて、関連する列の選択を行います。完全な列より小さいものを使用している場合、技術的には行の属性がのではありません。

1

SELECT MID(FIELD_NAME, 5) FROM TABLE_NAME 

ミッドは非常に強力であると試してみてください、それが指定されている場合、長さは

SELECT MID(FIELD_NAME, 5, 2) FROM TABLE_NAME ' gives 08 in your example text 
のようにdesideredあなたが出発点とすべての残りの部分を選択でき、または、
0
SELECT RIGHT(FIELD_NAME,LEN(FIELD_NAME)-4) 
FROM TABLE_NAME; 

それはその後、上記のいずれかが動作する汎用的な文字列のためであれば...

+1

もちろん、文字列は7文字であると想定していますが、これは必ずしも正しいとは限りません。 – NullUserException

+0

この特定の文字列については、それは動作します... – Teja

0

は私の現在の場所でのアクセスを持っていますが、これを試してみてくださいしないでください。

SELECT RIGHT(FIELD_NAME, LEN(FIELD_NAME)-4) 
FROM TABLE_NAME 
+1

'mid()'を使用するラウンドアバウトの方法です:-) – paxdiablo

+0

@paxdiablo Heh。あなたが正しい! –

0

LEFT(FIELD_NAME、4)は、FIELD_NAMEの最初の4文字を返します。

何をする必要がある:あなたが10 caractersのFIELD_NAMEを持っている場合は

SELECT MID(FIELD_NAME, 5) 
FROM TABLE_NAME 

は、関数が(最初の4チョッピング)6最後caractersが返されます!