0

すべての州をリストする必要があります。たとえば、状態テーブルの値は

01 - Tamilnadu
2 - Andhra
03 - MP
4 - Kerala

等。、、

必要なのは、前の数字が1桁の場合、ゼロを追加する必要があることです。たとえば、アンドラには 02 として必要な 1 桁しかありません。選択中のアンドラは、それ以外の場合は値をそのまま返します。これが私の試みです。構文エラーがたくさんあります。私の質問を完了するのを手伝ってください。

select [state],case(len(SUBSTRING([state],1,CHARINDEX('-', [state]+'-')-1)))
when  1 then
state = append zero in the state
when 2
state = leave value as it is
End
 from states where [state] is not null order by id desc;

ありがとう

4

6 に答える 6

0

これを行う簡単な方法は、連結してからほとんどの文字を右手にすることです。

このような:

SELECT RIGHT('00' + CONVERT(VARCHAR,[state]), 2) + ' - ' + Name
FROM states
WHERE [state] IS NOT NULL
ORDER BY id DESC;

何らかの理由で[state]列にすべてのデータが含まれている場合 (例: '1 - Tamilnadu')、次のように変更する必要があります。

SELECT RIGHT('00' + [state], LEN([state]))
FROM states
WHERE [state] IS NOT NULL

id を分離する方が良いでしょうが。

于 2013-08-13T09:05:40.300 に答える
0

これを試して

Select Right('00'+cast(ColumnName As varchar),2)
from TableName

Select Right('00'+cast(state As varchar),2), StateName
from States where [state] is not null order by id desc;
于 2013-08-13T09:03:35.823 に答える