[英]Variables in T-SQL
我的表中只有1列,此表中有990x70、980x50之类的输入。 我需要'x'左右的值来计算这两个值的英寸数。 使用此代码,我仅从数据库中获取最后一个注册的条目。 如何获得所有条目? (注意:我必须在该项目中使用变量。)
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。
现在,诚然,我对您的要求尚不完全清楚。 但是听起来像这样应该可以工作:
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
那应该和您所做的一样,但没有任何变量(在您的用法中,本质上是一维的)。
如果必须使用变量,请从此开始:
declare @Delimiter varchar(1)
declare @CMtoInches DECIMAL(19,2)
Set @delimiter = 'x'
Set @CMtoInches = 2.54
看看是否可以解决如何将其集成到Matthew的代码中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.