`
ruguosmen
  • 浏览: 98673 次
  • 性别: Icon_minigender_1
  • 来自: 长春市
最近访客 更多访客>>
社区版块
存档分类
最新评论

SqlServer 2005 将字符串强制转换成float类型 20090317

Go 
阅读更多
今天写了一个数据库的函数
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

create function [dbo].[cc2sf_convert]( @my_str varchar(100))
returns varchar(100)
begin
declare @length int
declare @uni_int int
declare @i int
set @i = 0
set @length = len(@my_str)

while (@i <@length)
BEGIN
   set @uni_int = unicode(substring(@my_str,@i+1,1));
   IF @uni_int = unicode('.') or(48<= @uni_int and @uni_int<=57)
      set @i = @i +1;
   ELSE
      break;
END
return substring(@my_str,1,@i)
end

调用范例:
dbo.cc2sf_convert('20.1万元');

------
result: 20.1


所有的函数快都是由
begin
end
构成他们替代了 { }
例如上面的函数同样可以写为:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER function [dbo].[myconvert] ( @my_str varchar(100)) returns varchar(100)
begin
declare @length int
declare @uni_int int
declare @i int
set @i = 0
set @length = len(@my_str)

while (@i <@length)
BEGIN
   set @uni_int = unicode(substring(@my_str,@i,@i+1));
   IF @uni_int = unicode('.') or(48<= @uni_int and @uni_int<=57)
      begin
      set @i = @i +1;
      end
   ELSE
      begin
      break;
      end
END

return substring(@my_str,1,@i)
end


分享到:
评论

相关推荐

    SqlServer,Oracle数据类型,函数,导入导出对照

    - **CONCAT**、**TO_CHAR**、**TO_NUMBER**、**TO_DATE**:用于字符串拼接或数据类型转换的函数。 #### 日期函数 - **DATEADD**、**DATEDIFF**、**GETDATE**、**LAST_DAY**、**NEXT_DAY**、**DATENAME**、**...

    微软SQL2005精编培训

    ##### 5.7 CONVERT(类型,字段,类型)类型强制转换 - `CONVERT`函数用于将一种数据类型转换为另一种数据类型。 - 示例: ```sql SELECT CONVERT(varchar, DateOfPurchase, 101) FROM Orders; ``` ##### 5.8 CAST...

    最有用的java面试题

    从给定的文件信息中,我们可以提炼出一系列与Java编程语言相关的面试知识点,这些知识点涵盖了基本数据类型、字符串操作、类型转换、日期时间处理、文件I/O操作、面向对象编程、异常处理、数据库连接以及Web开发等多...

    C#面试大全.txt

    - **类型转换**:强制类型转换时要注意类型兼容性,如从 `float` 转换到 `int` 时会丢失精度。 - **IDisposable 接口**:实现了 `IDisposable` 接口的对象需要调用 `Dispose` 方法来释放非托管资源。`Close` 和 `...

    asp.net经典笔试题

    - 字符串在.NET中是不可变的引用类型,这意味着一旦创建,字符串的值就不能改变。 - 当创建新的字符串时,实际上是创建了一个新的字符串对象的引用。 #### 21. 多线程的start()与run()方法 - **start()**:启动一...

    ACCP5.0 内部测试

    - 显式转换用于从较大范围的数据类型到较小范围的数据类型之间的转换,例如从 `double` 转换为 `float`。 - 强制类型转换需要注意可能发生的精度损失或溢出问题。 - 使用 `Convert` 类或 `Parse` 方法也可以进行...

    C#试题,很不错的

    5. 类型转换:将浮点数`float`转换为整数`int`时,会丢失小数部分。所以`float f=-123.567F;int i=(int)f;`后,i的值为-123。 6. 自定义运算符:在C#中,如果只声明了"=="运算符,而没有声明"!=",会导致编译错误,...

    2021-2022计算机二级等级考试试题及答案No.11541.docx

    - **解释**: 使用 `(int)` 强制类型转换来获取乘积的整数部分。 ### 7. 数据库连接验证方式 - **知识点**: 连接数据库时使用的验证方式。 - **类型**: - Windows验证: 使用Windows账户进行身份验证。 - SQL ...

    C# 笔试题目 笔试必出

    5. 强制类型转换:float f=-123.567F;int i=(int)f;i 的值现在是 -123。 二、运算符和委托 6. 运算符声明:利用 operator 声明且仅声明了 ==,那么也需要重载 != 运算符。 7. 委托声明:委托声明的关键字是 ...

    2021-2022计算机二级等级考试试题及答案No.19887.docx

    short转long、float转double以及byte转int是自动类型提升,不需要强制转换。 4. Visual Basic或类似的窗体编程:窗体级变量在所在窗体的所有子程序中都是可访问的,即使它们被声明为Private。其他窗体的子程序无法...

    2021-2022计算机二级等级考试试题及答案No.15639.docx

    - `str.upper()`:将字符串`str`中的所有字符转换为大写。 - `str.len()`:错误表述,正确的语法应该是`len(str)`,用来获取字符串`str`的长度。 - `x*3`:在Python中,如果`x`是字符串'aa',执行`x*3`会得到'...

    asp,net 笔试

    5. 类型转换:将浮点数`float f=-123.567F`强制转换为整数`int i`时,小数部分会被截断,所以`i`的值是-123。 6. operator重载:声明并仅声明了`==`运算符,但没有声明`!=`,这会导致编译错误,因为重载`==`通常...

    130道.NET面试题

    - **拆箱:** 将引用类型的值转换回原始值类型的过程。 ### 16. unsafe 关键字的意义 `unsafe`关键字用于指定不安全代码块,允许使用指针和其他不安全的操作。在.NET中,由于CLR的安全性限制,通常禁止使用指针操作...

    2021-2022计算机二级等级考试试题及答案No.13433.docx

    15. 截取字符串Visual Basic的VB表达式:在Visual Basic中,使用LEFT函数可以截取字符串,LEFT("Visual Basic 6.0", 6)将截取前6个字符,即"Visual"。正确答案:LEFT("Visual Basic 6.0", 6)。 16. 双精度数字类型...

    60道Java面试题及答案

    - 显式转换(类型强转)是强制将大类型转换为小类型。 - 隐式转换是系统自动完成的小到大的转换。Char类型可以自动转为int和double,但转为string需用方法。 12. **拆装箱**: - 拆箱是将包装类型转化为基本数据...

    c#经典面试题 包括语法、数据库部分

    基本数据类型包括整型(int, byte, short, long)、浮点型(float, double)、字符型(char)、布尔型(bool)以及字符串(string)。了解它们之间的转换和范围是基础。 2. 类与对象:C#是面向对象的语言,类是对象...

    php语法简介.pdf

    - 类型转换主要分为自动转换(隐式转换)和强制类型转换(显式转换)。例如: ```php $str = "123"; $int = (int)$str; // 显式转换 ``` - 常见的算术运算符包括加(`+`)、减(`-`)、乘(`*`)、除(`/`)、取模(`%`...

    asp.net面试题

    - **String str = ""**:声明一个字符串变量并将其初始化为空字符串。 ### 25. C#中的Class与Struct的区别 - **Class**:是引用类型,存储在堆上,可以为null。 - **Struct**:是值类型,存储在栈上,不能为null。...

    java考试复习资料

    - **显式转换**(强制类型转换):将一个大范围类型强制转换为一个小范围类型,可能导致数据丢失。 #### 十二、装箱与拆箱 - **装箱**:将基本数据类型转换为对应的包装类类型。 - **拆箱**:将包装类类型转换为...

Global site tag (gtag.js) - Google Analytics