① sql 中怎么把字符串转换为数字
具体方法如下:
将字符的数字转成数字,比如'0'转成0可以直接用加法来实现;
例如:将pony表中的d
进行排序,可d的定义为varchar,可以这样解决;
select
*
from
pony
order
by
(d+0);
在进行ifnull处理时,比如
ifnull(a/b,'0')
这样就会导致
a/b成了字符串,因此需要把'0'改成0,即可解决此困扰;
比较数字和varchar时,比如a=11,b="11ddddd";
则
select
11="11ddddd"相等;
若绝对比较可以这样:
select
binary
11
=binary
"11ddddd";
字符集转换
:
CONVERT(xxx
USING
gb2312);
类型转换和SQL
Server一样,就是类型参数有点点不同
:
CAST(xxx
AS
类型),CONVERT(xxx,类型);
类型必须用下列的类型:BINARY、CHAR()、DATE、TIME、DATETIME、DECIMAL、SIGNED、UNSIGNED。
② sqlServer怎么把字符串'106,107'转换成两个数字106,107
答: sqlserver 封装成标值函数即可
逻辑代码:
DECLARE@indexint=1,@charindexint
DECLARE@Textvarchar(100)='106,107,109'
set@charindex=CHARINDEX(',',@Text)
WHILE(@charindex>0)
begin
selectSUBSTRING(@Text,@index,@charindex-@index)
set@index=@charindex+1
set@charindex=CHARINDEX(',',@Text,@index)
if(@charindex=0)selectSUBSTRING(@Text,@index,len(@Text))
end
希望能帮到你!
如有问题 可以追问,我当及时回答!
③ sql字符串转化成数字
sqlserver:
select replace(ltrim(rtrim(phone)),' ','') as phone
from table group by replace(ltrim(rtrim(phone)),' ','')
④ sql server中的怎么把数值型转换为字符串
有两种。
1.转换(int,字段名)
例如:选择convert(int,'3')
选择cast('3'作为int)
一般来说,没有必要将字符串转换为数字类型,如果你需要比较两个字段是相等的,但为字符串类型字段,类型,用“=”来比较这两个值是相等的,SQLSERVER将自动将字符串转换为一个数字,然后比较。
(4)sqlserver转数字扩展阅读:
注意事项:
这两个函数都执行强制转换,但是语法不同。据说有一些不同的转换,但我更习惯于使用转换函数,它更像一个函数的语法一方面,可以指定的格式转换,将时间和价值转换为一个字符串。
对于数据类型的确切值,转换后的字符串是我们存储的值。如:
声明@iintset@i=123456789print'test:'+转换(varchar(20),@i)
输出是:test:123456789
对于具有近似值的数据类型,情况就不那么简单了。
声明@ifloatset@i=123456789print'test:'+转换(varchar(20),@i):test:1.23457e+008
⑤ sqlserver 怎么将字符串1-3,5-8转换成1,2,3,5,6,7,8
cast(字段名 as int) 例如:select cast('3' as int)
其实,一般情况下没有必要把字符串转换为数字类型
假如需要比较两个字段是否相等,但是一个字段为字符串类型,一个为数字类型,用“=”比较两个值是否相等时,SQL SERVER会自动把字符串转换为数字再比较的
⑥ sqlserver2008 布尔类型强制转换数字类型
--数据库默认布尔类型是bit类型bit0或者1应可支持转换数字类型
--使用CAST:CAST(expressionASdata_type)
--使用CONVERT:CONVERT(data_type[(length)],expression[,style])
selectconvert(int,字段)或cast(字段asint)
希望能帮到你!
以前回答案例,可参考下如:
参考:http://..com/question/586478323
⑦ SQL中怎么取出字符串中某两个字符,并转换为数字
select
*
from
tablename
where
字段名
in
('aa')
这个就是用到了in关键字,同样的还有not
in关键字查询的便是不包含某字符串的结果。
如果需要判断是否在,如果在(或者不在)需要返回值的话,用is
null关键字加一个判断,判断一下就可以了。
⑧ sqlserver时间转毫秒值,就是一串数字的那种。
???
时间戳格式?
SELECTCAST('2014-01-01'ASTIMESTAMP)
要这样的?
⑨ SQLSERVER数据转换问题
Test_OldTable是包含19990101等nvarchar数据类型的表
Test_NewTable是包含DateTime数据类型的表
sql语句:
INSERT INTO Test_NewTable(NewDate)
SELECT CAST(OldDate AS DateTime)
FROM Test_OldTable
在查询分析器中执行得到的结果是正确的。其他方法也可以的。
⑩ sqlserver存储过程中 如何把表变量转换成数值
直接将表名也改为varchar(50) 就行了
要不你就用预执行
if exists(select * from sysobjects where name='proc_select')
drop proc proc_select
go
create proc proc_select
@table varchar(50)
as
declare @sql varchar(8000)
set @sql='select * from '+@table
exec(@sql)
go
exec proc_select 'Types'