在sql中如何将字符串数字转换成数字?

SQL Server 里有将字符串转换成数字类型的函数吗

不幸的是,我过去在使用这个 SQL Server 转换函数时遇到过很多陷阱。
记得有一次,我负责一个项目。
当时我使用的是SQL Server 2 008 ,必须将用户输入的字符串转换为浮点数进行计算。
当时我愚蠢地使用了CAST函数,但出了问题。

当时用户输入“1 2 3 .4 5 abc”,我直接使用CAST(&3 9 ;1 2 3 .4 5 abc&3 9 ; AS FLOAT)。
结果系统直接报错,说数据类型不匹配。
当时我很困惑,心想怎么会这样呢?查阅资料后发现CAST功能比较死板。
它要求源数据类型和目标数据类型必须紧密匹配,不能有任何错误。

然后我继续执行 CONVERT 函数 CONVERT(FLOAT,&3 9 ;1 2 3 .4 5 abc&3 9 ;)。
这次没有报错,但是转换结果为NULL。
当时我明白 CONVERT 函数比 CAST 更灵活,但它不能处理非数字字符。

后来又学习了两个函数TRY_CAST和TRY_CONVERT。
它们就像保险丝。
它们在遇到不可转换的数据时返回NULL,不会导致程序崩溃。
我在项目中使用了TRY_CAST,成功解决了问题。

总之,使用哪种SQL Server转换函数取决于具体情况。
如果数据干净整洁,使用CAST又快又准;如果数据可能有点混乱,请使用 TRY_CAST 以确保安全。
这个问题我就不多说了,因为我主要做后端工作。
我对前端了解不多,不敢乱说。
哈哈,朋友,你有什么具体的场景要讲吗?我可能有一些经验可以分享。

sql server 怎么将字符型转化为数值型