問題描述
我的表中只有 1 列,在這個表中有像 990x70、980x50 這樣的輸入.我需要x"左右的值來計算這兩個值的英寸.使用此代碼,我只從數據庫中獲取最后注冊的條目.如何獲取所有條目?(注意:我必須在這個項目中使用變量.)
I have only 1 column in my table, in this table there are inputs like 990x70, 980x50. I need the values left and right of the 'x' to calculate inches of these 2 values. With this code I take only last registered entry from database. How can I get all entries? (Note: I have to use variables in this project.)
declare @Value1 numeric(18,1)
declare @Value2 numeric(18,1)
select
@Value2 = SUBSTRING(
[Values],
CHARINDEX('x', [Values]) + 1,
LEN([Values])) ,
@Value1 = SUBSTRING(
[Values],
1,
CHARINDEX('x', [Values]) - 1)
from myTable
select @Value1=@Value1/(2.54)
select @Value2=@Value2/(2.54)
select @Value1,@Value2 from myTable
我的表中有 4 種不同的尺寸,我得到了 4 次相同的結果.我想獲得所有結果,而不僅僅是 1.
There are 4 different sizes in my table and I get the same result 4 times. I want to get all results not only 1.
推薦答案
現在,誠然,我不是很清楚你在問什么.但聽起來像這樣應該可以工作:
Now, admittedly, I'm not totally clear on what you're asking. But it sounds like something like this should work:
SELECT CONVERT(NUMERIC(18,1), SUBSTRING([Values], CHARINDEX('x', [Values]) + 1, LEN([Values]))) / 2.54,
CONVERT(NUMERIC(18,1), SUBSTRING([Values], 1, CHARINDEX('x', [Values]) - 1)) / 2.54
FROM myTable
這應該和您正在做的事情一樣,但沒有任何變量(在您的使用中,這些變量本質上是一維的).
That should just do the same thing as you're doing, but without any of the variables (which are, in your usage, inherently one-dimensional).
這篇關于T-SQL 中的變量的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!