SQL中数据转换 (50分)

  • 主题发起人 主题发起人 ljk_268400
  • 开始时间 开始时间
L

ljk_268400

Unregistered / Unconfirmed
GUEST, unregistred user!
我在对数据库检索时,检索一个含有纯数字的字符型字段中的想找出最大的数
我用的:SELECT (MAX(TO_NUMBER(字段名))) from 表名 不能执行请问如何解答
我用的是sql server数据库,错误信息显示无TO_NUMBER函数,应如何转换字符型为数字型
 
用conver()来转呀
看在线帮助的例子
 
在Oracle中(to_number应该是Oracle中才有的吧),只要你那个字段里的内容
全都可转成数字的话,你这句是完全可以执行的。
不明白你为什么不用NUMBER型?
 
既然你是纯数字的,那么直接用max(字段名)就可以了,虽然字段是字符型的,
但这样比较也不会出现问题,你可以试试,没有问题。
 
要看你用什么数据库了!你应当去看看你所有的数据库数据转换用什么函数?
 
max(convert(int,字段名))
 
Cast(字段名 as int)
 
SELECT (MAX(cast(字段名,as int))) from 表名
 
MSSQL数据库的话正确的应该是
SELECT MAX(cast(字段名 as int)) as Max from 表名
 
用CAST函数就行,简单;也可以用CONVERT,灵活一些,具体的你可以看SQL SERVER 查询分析
器的帮助,那里很详细的。
不过不能不做转换,如果不转换,用MAX将按字符的大小排序,例如:123<4,这样逻辑会不对的。
 
后退
顶部