1. sql语句中 数据类型转换 string to int
oracle: to_number(str)
sqlserver: convert(int,字段名)
2. mysql中int型的数字怎么转换成字符串
MySQL 数字类型转换函数(concat/cast)。
1、将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80′。
2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串。
总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型)。
(2)sqlint转字符串扩展阅读:
可用的类型:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
cast函数运行示例
3. sql语句将1,2,3字符串转换为int类型
创建一个函数,把字符串变成表格
CREATE FUNCTION fn_StringSplitTable
(
@str NVARCHAR(MAX),
@split NVARCHAR(10)
)
RETURNS TABLE
AS
RETURN
(
SELECT B.id
FROM
(
SELECT [value] = CONVERT(XML , '<v>' + REPLACE(@str , @split , '</v><v>') + '</v>')
) A
OUTER APPLY
(
SELECT id = N.v.value('.' , 'nvarchar(100)')
FROM A.[value].nodes('/v') N ( v )
) B
)
Go
查询可以为
select * from tb where id IN (SELECT CAST(id AS INT) FROM dbo.fn_StringSplitTable('1,2,3', ','))
4. 如何用SQL语句实现String转化为int,如下是一个String类型
select Convert(int,'4321') --将4321 转化为int
select Convert(int,isnull(num,0)) --将字段 num 转化为int
希望能够采纳
5. 在sql里面String转int(相互)~~~~要详细描述
用convert方法:
字段A int
字段B varchar(10)
则 convert(varchar(10),字段A)将返回A的varchar类型
同理 convert(int,字段B)将返回B的int型
Example:
// stoi example
#include <iostream> // std::cout
#include <string> // std::string, std::stoi
(此处空一行)
int main ()
{
std::string str_dec = "2001, A Space Odyssey";
std::string str_hex = "40c3";
std::string str_bin = "-10010110001";
std::string str_auto = "0x7f";
(此处空一行)
std::string::size_type sz; // alias of size_t
int i_dec = std::stoi (str_dec,&sz);
int i_hex = std::stoi (str_hex,nullptr,16);
int i_bin = std::stoi (str_bin,nullptr,2);
int i_auto = std::stoi (str_auto,nullptr,0);
(此处空一行)
std::cout << str_dec << ": " << i_dec << " and [" << str_dec.substr(sz) << "] ";
std::cout << str_hex << ": " << i_hex << ' ';
std::cout << str_bin << ": " << i_bin << ' ';
std::cout << str_auto << ": " << i_auto << ' ';
(此处空一行)
return 0;
}
(5)sqlint转字符串扩展阅读:
几种转换成 int 类型的方式总结
1、 (int)变量名[强制类型转换]:
这种方式主要用于数字类型之间的转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,但是从long类型到int类型就需要使用显式转换,也就是该数据类型转换方式,否则会产生编译错误。
2、int.Parse(string类型变量名)
这种方式是将数字内容的字符串转为int类型,如果字符串内容为空或者null时,如果字符串内容不是数字,如果字符串内容所表示数字超出int类型可表示的范围,都抛出异常。
使用该方法切忌的一点就是只能处理字符串内容,而且字符串内容只能在int类型可表示的范围之内。
6. sql 2008 中,将int数据类型如何转换为string
SQL Server 中的字符串是用char,nchar,varchar,nvarchar等数据类型来实现的。
将int数据类型如何转换为字符串可以用如下任意一种方式:
declare @num int
set @num = 1
-- 方式1:
select CONVERT(varchar(10),@num)
-- 或者方式2
select CAST(@num as varchar(10))
7. 如何在SQL中把int转为string-CSDN论坛
select convert(char(20), id) as stringID
8. Sql中有没有把字符串转换成int数值类型
直接用 cast('1' as integer)
PostgreSQL中直接使用转换符号::(连续两个冒号)就可以实现类型的强制转换。
可以使用函数:ISNUMERIC;当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。
串接子串
“串接”是 Σ* 上的重要二元运算。对于 Σ* 中的两个字符串 s 和 t,它们的串接被定义为在 s 中的字符序列之后跟随着 t 中的字符序列,并被指示为 st。例如,Σ = {a, b, …, z},并且 s = bear 且 t = hug,则 st = bearhug 而 ts = hugbear。
字符串串接是结合性的,但非交换性运算。空串充当单位;对于任何字符串 s,有 εs = sε = s。所以,集合 Σ* 和串接运算形成了幺半群,就是从 Σ 生成的自由幺半群。此外,长度函数定义从 Σ* 到非负整数的幺半群同态。
以上内容参考:网络-字符串
9. 怎么将sql server 语句中integer类型转换成string
SQL Server中的数值类型分为两种,一种是精确的数值类型,具体的数据类型有:
bit、tinyint、smallint、int、bigint、smallmoney、money和decimal,这些数据类型能够精确的表明某以数值;
另一种是近似的数值类型,具体就是float和real。
浮点数据为近似值,因此,并非数据类型范围内的所有值都能精确地表示。
有些时候需要将这些数值类型转换为字符串类型,用到的转换函数就是cast和convert,这两个函数的作用都是进行类型转换,只不过语法格式不同。
对于精确数值的数据类型,转换出来的字符串就是存储的数值,比如:
declare @i int
set @i=123456789
print 'test:'+convert(varchar(20),@i)
输出就是:test:123456789
而如果对于近似数值的数据类型,那么可就没有那么简单了。
declare @i float
set @i=123456789
print 'test:'+convert(varchar(20),@i)
输出结果:test:1.23457e+008
输出的结果是使用科学计数法来表示的,再看看可否通过指定转换样式来指定不使用科学计数法呢?帮助文档中说到float 或 real 转换为字符数据时的 style 值:
0(默认值)最大为 6 位数。根据需要使用科学记数法。
1 始终为 8 位值。始终使用科学记数法。
2 始终为 16 位值。始终使用科学记数法。
值是123456789,超过了6位数.所以不管是0还是1,2结果都会使用科学计数法来表示。
那么要怎么样才能将我们的数据不转换成科学计数法而输出呢?比较简单的办法就是将近似数据转换为精确数据,然后再将精确数据转换成字符串。
同样以上面的例子为例, 进行两次数据类型的转换如下:
declare @i float
set @i=123456789
print 'test:'+convert(varchar(20),convert(int,@i))
输出:test:123456789如果是有小数,那么我们要转换出小数位的话,可以转换成decimal,转换出的小数位数在定义decimal时指定。
比如要输出4位小数,那么转换代码是:
declare @i float
set @i=123456789.12
print 'test:'+convert(varchar(20),convert(decimal(18,4),@i))
输出:test:123456789.1200