SQL的类型转换

说到SQL类型转换,我们知道SQL是一个弱类型语言,所以可以做隐式的强制类型转换,下面记录一下这几天遇到的类型转换问题。

1.在SQL中,字符串类型与数字之间转换是不需要强制类型转换符的,如果字符串是一个数字字符串则直接转型为数字类型,否则将会报错。

2.在SQL中,如果某一字段数据类型为字符类型,必须加‘‘(单引号),除非该数值为数字形式。

3.在SQL中,有一个有趣的现象如果DATETIME类型的数据不加单引号,系统会给一个默认的时间。

此外SQL中还有两个类型转换函数:

1.CAST ( expression AS data_type)

2.CONVERT ( data_type, expression,[style])

SQL中如果+号两边分别为数字与字符串类型的两个数据,则按数字加法处理,如果字符串类型不能强制转型为数字,则报错。

select 1+‘a‘

此代码片段将发生错误,正确应该如下:

select ‘a‘+cast(1 as char(1))
select ‘a‘+CONVERT(char(1),1)
时间: 2024-08-24 01:32:25

SQL的类型转换的相关文章

sql数据类型转换函数

1.CAST()CAST (<expression> AS <data_ type>[ length ]) 2.CONVERT()CONVERT (<data_ type>[ length ], <expression> [, style]) 1)data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用.2)length用于指定数据的长度,缺省值为30.3)把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这

C# 和SQL Server 类型转换

/// <summary> /// 数据库中与C#中的数据类型对照 /// </summary> /// <param name="type"></param> /// <returns></returns> private string ChangeToCSharpType(string type) { string reval = string.Empty; switch (type.ToLower()) {

oracle.sql.Clob类型转换成String类型

方法一: public String ClobToString(Clob clob) throws SQLException, IOException { String reString = ""; Reader is = clob.getCharacterStream();// 得到流 BufferedReader br = new BufferedReader(is); String s = br.readLine(); StringBuffer sb = new StringBu

SQL server类型转换

1. CAST函数 语法: CAST ( expression AS data_type [ ( length ) ] ) | | | |关键字 表达式或值 要转换成的数据类型 最大长度 示例: SELECT CAST(100 AS CHAR(3)) 2. CONVERT函数 语法: CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) | | | | |关键字 要转换成的数据类型 最大长度 表达式或值 样式代码(常用在日期类

SQL 数据类型转换

代码 select CAST('123' as int)   -- 123 select CONVERT(int, '123')  -- 123 select CAST(123.4 as int)   -- 123 select CONVERT(int, 123.4)  -- 123 select CAST('123.4' as int) select CONVERT(int, '123.4') -- Conversion failed when converting the varchar v

SQL中类型转换函数

1.cast cast(表达式 as 数据类型) select 100.0 +cast('1000' as int)  -- 1100.0 默认把字符串转换成浮整形 2.convert 万能转换 convert(数据类型,表达式) select 100.0 + convert(int,'1000')-- 1100.0 默认把字符串转换成整形 3.select * from student  order by  convert (int,bid) desc --bid列按照降序来排列,bid是va

解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题

在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中,发布的接口的入参有些类型支持不是很好,比如Timestamp和Map.这个时候我们就需要编写一些适配来实行类型转换. TimestampAdapter.java package com.loongtao.general.crawler.webservice.utils; import java.s

通用工具类方法

package com.ctb.utils; import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.List; import net.sf.json.JSONArray; import org.apache.commons.cod

Java 语言结构【转】

Java 语言结构 基础:包(Package).类(Class)和对象(Object) 了解 Java 的包(Package).类(Class)和对象(Object)这些基础术语是非常重要的,这部分内容将概要的介绍这些术语. 包(Package) Java 使用包来组织类,通常按照业务逻辑将类分组到不同的包中.比如:应用程序的所有图形界面可能被分组到 com.vogella.webapplication.views 包中. 通常的做法是使用公司域名的倒序作为顶层包,比如:公司的域名是 "4byt