‘壹’ 数据库中转换数据类型的几种方法
oracle有三种最基本的数据类型,即字符型、数值型、日期型。 (注意需要起别名的地方要起别名)
oracle提供的单行函数中,针对不同的数据类型,提供大量实用的函数,同时提供一系列数据类型转换函数,如下:
sql.append(" select CURVE_NAME,S_YEAR_LIMIT,AVERAGE_VALUE,to_char(d_date,'yyyy-MM-dd') d_date from t_treasury_yield_curve t where d_date = to_date ('"+d_date+"','yyyy-MM-dd')");
24 小时的形式显示出来要用 HH24select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from al;
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from al;to_date() function。
1、日期格式参数 含义说明
D 一周中的星期几。
DAY 天的名字,使用空格填充到 9 个字符。DD 月中的第几天,DDD 年中的第几天。
DY 天的简写名,IW ISO 标准的年中的第几周,IYYY ISO 标准的四位年份。YYYY 四位年份,
YYY,YY,Y 年份的最后三位,两位,一位。
select sysdate,sysdate - interval '7' month from al。
当前时间减去 7 年的时间。
select sysdate,sysdate - interval '7' year from al。
时间间隔乘以一个数字。
select sysdate,sysdate - 8 *interval '2' hour from al
2、日期到字符操作
select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from al,select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from al,select sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from al。
select sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from al。
3、字符到日期操作
select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from al。
具体用法和上面的 to_char 差不多。
4、TO_NUMBER
使用TO_NUMBER函数将字符转换为数字
TO_NUMBER(char[, '格式'])
数字格式格式:
9 代表一个数字 。
0 强制显示0 。
$ 放置一个$符 。
L 放置一个浮动本地货币符 。
. 显示小数点 。
, 显示千位指示符。
(1)数据库转换数字扩展阅读:
在使用数据类型转换之前,同样的 SQL 在有的服务器不报错,主要是数据库的版本不同,当然该过配置的不算。
常见的两种类型转换错误如下:
ERROR: operator does not exist: integer = character varying。
ERROR: operator does not exist: character varying = integer。
字符串转数字,数字转字符串。这一点支持的不如 MySQL 好,当然 PostgreSQL 在新版本中也对这个问题做了改进!
第一种转换方式:使用 CAST 函数。
SELECT * FROM xttblog WHERE id = CAST(888 AS VARCHAR);
SELECT * FROM xttblog WHERE id = CAST('888' AS integer)。
第二种转换方式:使用“::”操作字段。
格式,字段 :: 要转换为的数据类型。
SELECT * FROM xttblog WHERE id = 888 :: VARCHAR;
SELECT * FROM xttblog WHERE id = '888' :: integer。
数据类型转换,虽然看起来很痛苦,但是如果用户的类型用的不对,查询效率会下降。所以,在设计的时候,字段的类型,一定要设计的合理,尤其是在关联表的时候。
‘贰’ sql语句中怎样将字符类型转换成数字类型
先检查金额列的数据是否都符合小数规范,转为数字格式只有是数字的字符串才能转,如000012转为12,.55转为0.55,若是个英文符号等字符转了就报无效数字类型的错。
‘叁’ mysql数据库怎么将1-3转换数字1,2,3
有两种方式: 1、用后台代码做个随机数,以php为例, $randNum = rand(1,35)//获取1-35的一个随机数 mysql_query("insert into tablename (B) values($randNum)"); 2.直接用mysql的函数实现1-35的随机数 floor( rand()*35); sql语句就成这样的了 insert into tablename (B) values(floor( rand()*35);
‘肆’ sybase数据库中如何将char类型的数据转换为数字型数据,写一个sql语句的实例
可以用convert()来转换,如果版本较高的话也可以用cast()
如select convert(int,'123')
或select cast('123' as int)
‘伍’ C#将数据库中的字符串转换成一个一个的数字
WeekDaysOff在数据库是什么类型?给出两个示例数据
Split是String的函数,而list2是个集合,当然就编译错误了
foreach对t需要使用哪些属性?
如何修正需要看问题1、3的回答
‘陆’ 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。
‘柒’ 数据库只包含数字的字符串怎么转成数字型的
一般oracle都是用tonumber函数转换的
试试这个语句
select 0+字段 from a;
mysql中可以,oracle可以试试,不然估计没法通用
‘捌’ oracle数据库里面的字符串转成数字类型,
to_number(s.status_name,'999999')
.to_number(s.status_name,'999999.99')
.to_number(s.status_name,'$999999.99')
to_number(),to_date(),to_char()都是有两个参数的,你没用对而已