我有一个数据库,其中有一列包含一系列数字,我正在尝试选择一个范围,但得到的结果很奇怪。
列数据类型被设置为VARCHAR,而不是INT,因为将来这些值可能包含字母数字值,但目前,它们是纯数字的。我尝试了像"SELECT * FROM table WHERE number >= '1' AND number <= '458'"这样的语句,但我得到的不是从1到458的数字</e
我在SQL server数据库中有一个存储数值的列。问题是,有时这个数字是数十亿,有时是1.355 E -16。我会将数字设置为很大的值,比如numeric(35,20),但我认为这会使它们在数据库中占用那么多空间,这似乎是一种浪费。有没有一种方法可以有效地做到这一点,就像我们有时使用varchar,有时使用短字符串,而有时使用长字符串?
我刚刚注意到,由于某种原因,phpMyAdmin在其生成的SQL查询中似乎总是使用数字字符串值而不是整数值(即'5‘而不是5)来将数据写入MySQL数据库中的整数字段,而我甚至不知道这是有效的SQL。INSERT INTO MyTable (MyIntField) VALUES ('5');
MySQL
我使用的是SQL Server 2014数据库,并且我有一个包含逗号分隔值的列,例如:4,54,2,8我需要做的是在每个记录中用数字3(字符串值)替换数字2,如果可能的话,不要重复数字3。我不确定是否可以做到这一点,除非我使用一个函数,我不确定如何在一个函数中做到这一点。
我认为我需要将一个字符串拆分成一个表,然后循环这些