返される数字の桁を切り取る必要があります。X0006、X0130、X1030 のようなリストにそれらがあります。X と 0 を取り出して 6,130,1030 を返す必要があります。私はこのようにRTRIMを試しました。私が何をする必要があるかについて誰にもアイデアがありますか? 私は何か簡単なものを見逃していると確信しています。
ありがとう
返される数字の桁を切り取る必要があります。X0006、X0130、X1030 のようなリストにそれらがあります。X と 0 を取り出して 6,130,1030 を返す必要があります。私はこのようにRTRIMを試しました。私が何をする必要があるかについて誰にもアイデアがありますか? 私は何か簡単なものを見逃していると確信しています。
ありがとう
これは、あなたが求めていることと、将来の数字の取得の必要性を正確に実行する、作成できる関数です。
CREATE FUNCTION [dbo].[fn__getDigits]
(
@string VARCHAR(50)
)
RETURNS int
AS
BEGIN
-- declare variables
DECLARE
@digits VARCHAR(50),
@length INT,
@index INT,
@char CHAR(1)
-- initialize variables
SET @digits = ''
SET @length = LEN(@string)
SET @index = 0
-- examine each character
WHILE (@length >= @index)
BEGIN
SET @char = SUBSTRING(@string, @index, 1)
SET @index = @index + 1
-- add to the result if the character is a digit
IF (48 <= ASCII(@char) AND ASCII(@char) <= 57)
BEGIN
SET @digits = @digits + @char
END
END
-- return the result
RETURN cast(@digits as int)
END
GO
select [dbo].[fn__getDigits]('X0006')
select [dbo].[fn__getDigits]('X0130')
select [dbo].[fn__getDigits]('X1030')
置換を使用して X を取り除き、Excel にコピー/貼り付けして、前のゼロを取り除きました。