一个字段里有些内容是数字和中文一起的。。例如 30万元。。50万。。48。。但也有一些只有中文的。。例如 市场价。。现在是否应该用一条SQL语句把那个字段里的数字UPDATE到一个新的字段里 然后比较大小排序。。还是说。。有直接的SQL条件可以判断这种数字和中文混合的排序呢。。请教了。。谢谢。。
一个字段里有些内容是数字和中文一起的。。例如 30万元。。50万。。48。。但也有一些只有中文的。。例如 市场价。。现在是否应该用一条SQL语句把那个字段里的数字UPDATE到一个新的字段里 然后比较大小排序。。还是说。。有直接的SQL条件可以判断这种数字和中文混合的排序呢。。请教了。。谢谢。。
order by convert(money, replace(replace(colname, '万', ''), '元', ''))
嗯。但这样查会不会影响速度。
能不能这样做。就是在那个表里加一个新的字段。然后把中文去掉UPDATE到新字段里呢。因为现在录入表的都是正常的了。只是以前的数据量大。想改过来。
如果这样做。全中文的怎么照搬。。
不用单位了。就只保留数据。SQL语句怎么写呢。感谢。
这样么:update `tb` set price2 = replace(replace(price, '万', ''), '元', '')
REPLACE(str,from_str,to_str)
返回字符串str,其字符串from_str 的所有出现由字符串to_str 代替。
mysql> select REPLACE('www.mysql.com', 'w', 'Ww');
-> 'WwWwWw.mysql.com'
该函数对多字节是可靠的。