发布网友 发布时间:2022-04-23 01:19
共7个回答
热心网友 时间:2022-04-07 18:39
这样:select to_number('123') from al
oracle没有显示的INT型,你直接定义成number就好,强制类型转换函数都差不多,转换为日期型就是TO_DATE(),
转换为数字就是TO_NUM(),转换为字符就是TO_CHAR(),括号中跟需要转换的内容,日期型注意格式掩码。
注意事项
CAST() 和CONVERT() 函数可用来获取一个类型的值,并产生另一个类型的值。
这个类型 可以是以下值其中的 一个:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
所以也可以用CAST解决问题:
select server_id from cardserver where game_id = 1 order by CAST(server_id as SIGNED) desc limit 10
也可以使用CONVERT来搞定此问题:
select server_id from cardserver where game_id = 1 order by CONVERT(server_id,SIGNED) desc limit 10
热心网友 时间:2022-04-07 19:57
1、先将varchar转换为数字,再转换为int型:
convert(int,convert(numeric(4,0),'1234'))
2、并不是所有varchar型都能转换成int型,你得确认数据,
使用TRUNC函数去掉小数点;
3、在数据录入的时候,就判断是否是整数,并且强制转换如,int(price),也同样可以避免日后 SQL 比较时,转换出错。
热心网友 时间:2022-04-07 21:31
oracle没有显示的INT型,你直接定义成number就好,强制类型转换函数都差不多,转换为日期型就是TO_DATE(),
转换为数字就是TO_NUM(),转换为字符就是TO_CHAR(),括号中跟需要转换的内容,日期型注意格式掩码。
热心网友 时间:2022-04-07 23:23
oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类型的数据:1、如果是整型,那么mysql中,用int即可;2、如果是带小数位的,那么mysql中可用numeric类型。
热心网友 时间:2022-04-08 01:31
oracle 里 convert这个函数是做字符集转换的。
oracle里是to_char() to_number()这样的。
热心网友 时间:2022-04-08 03:55
select to_number('123') from al
热心网友 时间:2022-04-08 06:37
to_number()