如何在SQL中将Varchar Number转换为整数 [英] How to convert Varchar Number to intger in Sql

查看:542
本文介绍了如何在SQL中将Varchar Number转换为整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好
我必须使用IN SQL Quarry发送银行ID.
我写下面的采石场

Hi All
I have to send the bank Id with IN SQL Quarry.
I write the below Quarry

declare @Bank_id varchar(4000)
set @Bank_id = '5,28'
SELECT CONVERT(int, CONVERT(int, @Bank_id));
select Bank_Id,Bank_Name from  Tbl_bank where bank_Id in (@Bank_id)



但是我得到了错误
将varchar值"5,28"转换为数据类型int时转换失败."

请使用在存储过程中的In Quarry给我采石场以获取发送ID.
感谢进阶

问候,
Ravi Sharma



but i get the Error
"Conversion failed when converting the varchar value ''5,28'' to data type int."

Please give me quarry for the sending ID with In Quarry in to Stored procedure.
Thanks In Advanced

Regards,
Ravi Sharma

推荐答案

你好,
使用以下函数拆分这些值
执行此操作,您需要使用
示例:
Hello,
Use The Following Function To split such values
Execute this and u need to use
Example:
declare @Bank_id varchar(4000)
set @Bank_id = '5,28'
SELECT CONVERT(int, CONVERT(int, @Bank_id));
select Bank_Id,Bank_Name from  Tbl_bank where bank_Id in (select data from split(@Bank_id,','))



分裂需要两个论点
1st:要拆分的值(@Bank_id)
第二个:用来分割(,)的符号

你会得到想要的东西



where split takes two arguements
1st:the value to be split(@Bank_id)
2nd:The symbol used to split(,)

you will get wht you want

Create FUNCTION [dbo].[Split]
(
	@RowData nvarchar(4000),
	@SplitOn nvarchar(5)
)  
RETURNS @RtnValue table 
(
	Id int identity(1,1),
	Data nvarchar(400)
) 
AS  
BEGIN 
	Declare @Cnt int
	Set @Cnt = 1

	While (Charindex(@SplitOn,@RowData)>0)
	Begin
		Insert Into @RtnValue (data)
		Select 
			Data = ltrim(rtrim(Substring(@RowData,1,Charindex(@SplitOn,@RowData)-1)))

		Set @RowData = Substring(@RowData,Charindex(@SplitOn,@RowData)+1,len(@RowData))
		Set @Cnt = @Cnt + 1
	End
	
	Insert Into @RtnValue (data)
	Select Data = ltrim(rtrim(@RowData))

	Return
end



谢谢&问候



Thanks & Regards


您是否尝试过设置@Bank_id =``5.28''?
Have You tried set @Bank_id = ''5.28''?


如果我看您的问题,
看来您需要获取ID为
的银行的数据 您需要提取5和28这两个银行的数据.
但您感到困惑,您正在尝试使用"5,28"表示您是一家银行的银行ID.

不要尝试只转换

声明@Bank_id varchar(4000)
设置@Bank_id =''5,28''
从Tbl_bank中选择Bank_Id,Bank_Name,其中(@Bank_id)中的bank_Id
If I look in your question,
it seems you need to fetch the data of banks whose id''s are
5 and 28 these two banks''s data you need to fetch.
but you got confused, you are trying ''5,28'' is you bank id for one bank.

don''t convert just try

declare @Bank_id varchar(4000)
set @Bank_id = ''5,28''
select Bank_Id,Bank_Name from Tbl_bank where bank_Id in (@Bank_id)


这篇关于如何在SQL中将Varchar Number转换为整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆