こんにちは、SQL に列があり、「.」を挿入する必要があります。最後の 2 文字の前。列は固定長ではありません。誰かが私がこれについて行くのを手伝ってもらえますか?
質問する
5076 次
4 に答える
4
UPDATE と SUBSTRING でそれを行うことができます。
UPDATE table
SET column = (SELECT SUBSTRING(column, 1, LEN(column)-2)
+ '.'
+ SUBSTRING(column, LEN(column)-1, LEN(column))
クエリが列に対して何をするかを確認したい場合は、次を使用してください。
SELECT
SUBSTRING(column, 1, LEN(column)-2)
+ '.'
+ SUBSTRING(column, LEN(column)-1, LEN(column))
FROM table
于 2013-11-06T15:34:37.383 に答える
1
面倒に見えますが、これでうまくいくはずです:
SELECT LEFT(COL_NAME, LEN(COL_NAME)-1)+'.'+RIGHT(COL_NAME,1)
FROM Table
または、出力だけでなくデータベースの値を更新する場合
Update Table
SET COL_NAME = LEFT(COL_NAME, LEN(COL_NAME)-1)+'.'+RIGHT(COL_NAME,1)
于 2013-11-06T15:35:23.837 に答える
1
次のようにsp_renameを使用できます。
EXEC sp_rename 'dbo.DatabaseName.ColumnName', 'ColumnNa.me', 'COLUMN';
これを複数の列に適用する必要がある場合は、substring メソッドを使用することをお勧めします。UPDATE
列の1つだけでそれを行うのは実際には使用されません。
于 2013-11-06T15:35:31.437 に答える
1
質問はあまり明確ではありません。に挿入しようとしている場合は. before last 2 characters
、関数column data
を使用できますSTUFF()
。
例:
Declare @s varchar(50) = '12345678'
Select Stuff(@s, Len(@s)-1, 0, '.')
--> 123456.78
テーブル クエリへの適用:
Select Stuff(yourCol, Len(yourCol)-1, 0, '.')
From yourTable
が 未満の場合、 null 文字列が返されることに注意してください。Len(yourCol)
2
于 2013-11-06T16:07:56.353 に答える