数据库中转换数据类型的几种方法

数据库中转换数据类型的几种方法,第1张

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 dual

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dualto_date() function。

1、日期格式参数 含义说明

D 一周中的星期几。

DAY 天的名字,使用空格填充到 9 个字符。DD 月中的第几天,DDD 年中的第几天。

DY 天的简写名,IW ISO 标准的年中的第几周,IYYY ISO 标准的四位年份。YYYY 四位年份,

YYY,YY,Y 年份的最后三位,两位,一位。

select sysdate,sysdate - interval '7' month from dual。

当前时间减去 7 年的时间。

select sysdate,sysdate - interval '7' year from dual。

时间间隔乘以一个数字。

select sysdate,sysdate - 8 *interval '2' hour from dual

2、日期到字符 *** 作

select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual,select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual,select sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from dual。

select sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from dual。

3、字符到日期 *** 作

select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from dual。

具体用法和上面的 to_char 差不多。

4、TO_NUMBER 

使用TO_NUMBER函数将字符转换为数字

TO_NUMBER(char[, '格式'])

数字格式格式:

9 代表一个数字 。

0 强制显示0 。

$ 放置一个$符 。

L 放置一个浮动本地货币符 。

. 显示小数点 。

, 显示千位指示符。

扩展资料:

在使用数据类型转换之前,同样的 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。

数据类型转换,虽然看起来很痛苦,但是如果用户的类型用的不对,查询效率会下降。所以,在设计的时候,字段的类型,一定要设计的合理,尤其是在关联表的时候。

Oracle中的LONG类型有两种:

LONG文本类型,能存储2GB的文本。与VARCHAR2或CHAR类型一样,存储在LONG类型中的文本要进行字符集转换。

LONG RAW类型,能存储2GB的原始二进制数据(不用进行字符集转换的数据)。

在此并不解释如何使用LONG类型,而是会解释为什么你不希望在应用中使用LONG(或LONG RAW)类型。首先要注意的是,Oracle文档在如何处理LONG类型方面描述得很明确。Oracle SQL Reference手册指出:

不要创建带LONG列的表,而应该使用LOB列(CLOB、NCLOB、BLOB)。支持LONG列只是为了保证向后兼容性。

没有内置的函数处理,得自己写处理函数,可以参考:网页链接

您好,很高兴为您解答。\x0d\x0a\x0d\x0a1、MYSQL的工具使用navicat;\x0d\x0a2、SQL在安装的时候,需要安装SQL native Clent,并且开启服务;\x0d\x0a3、在navicat中创建数据连接,创建一个对应的空数据库\x0d\x0a4、创建数据库后,打开数据库,选择导入向导\x0d\x0a\x0d\x0a5、导入向导里,选择ODBC\x0d\x0a\x0d\x0a6、点下一步,导入里面选择sql native client;\x0d\x0a\x0d\x0a7、下一步,选择使用windows NT 集成安全设置,数据库选择你要转换的数据库,确定\x0d\x0a\x0d\x0a8、如表结构完全一样,那么就全选数据表吧,确定,因我们是新建的数据库,里面是空的,那么默认是创建表,如果是要导入到已经有的表结构里,则在目标表里选择要导入的目标表,然后选字段。注意在第6步的时候,选对表的主键进行设置!\x0d\x0a\x0d\x0a9、如果是添加数据,则选择:添加记录到目标表;如果是需要ID值跟源数据库一致,则选择复制,删除目标全部数据,并从源数据重新导入\x0d\x0a\x0d\x0a注意,导入的时候,如果是已存在表结构,则键位不能空,如果是添加数据,则ID值空着,不要添加主键,在导入过程中如果出现错误,则根据出错提示处理,此方法绝对可以!\x0d\x0a\x0d\x0a如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】\x0d\x0a\x0d\x0a希望我的回答对您有所帮助,望采纳!\x0d\x0a\x0d\x0a ~ O(∩_∩)O~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6785634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存