A. sql中CHAR后面的数字可以随便写吗
一楼的说法不太准确.
1.char和varchar各有优缺点.char是定长,实际长度超过指定长度是,右边被截去,不足时右边补空格;varchar是变长,数字表示允许的最大长度,在储存时用另外一个字节来保存实际的长度.
2.一般来说,char确实会导致一定的储存空间浪费,但在进行数据操作的时候速度更快;varchar虽然能节省储存空间,但很多操作多每次要去查询字段的实际长度,这会导致数据操作速度变慢.
4.char和varchar各有用途.在已知字段长度的情况下(比如学号字段,一般每个学生的学号长度是固定一样的),可以用char类型,既不会浪费空间,有不会拖慢速度.如果字段的长度是不确定,这是是用char还是varchar就需要考虑一下了.比如,中国人的名字一般是两个/三个或者四个字,最多五个字,如果你的数据库对自个字段的操作特别多的话,你也可以考虑将个字段设为char(5).因为现在寸寸设备的价格已经很便宜了,而用户对系统的相应速度要求比较高,用空间换时间.
5.说到底,这还是一个空间与速度之间取哪个的问题,这要结合实际情况具体分析.
B. sql2008 如何只取小数点后面的数字
select '0.'+substring((cast(字段名 as varchar)),charindex('.',cast(字段名 as varchar))+1,len(字段名)-charindex('.',cast(字段名 as varchar))) from 表名
表名,字段名替换成你数据库里对应的名字即可
貌似这样也可以啊
select 字段名-floor(字段名) from 表名
不过前边的0不显示了,需要cast 转换一下并且前边加上0
C. sql中怎么去截取一个冒号后面的一串数字
sql中怎么去截取一个冒号后面的一串数字?1、首先在桌面上,点击“Management Studio”图标。
2、之后在该界面中,点击左上角“新建查询”选项。
3、接着在该界面中,输入截取指定字段某一个字符出现后的后面的字符串的sql语句“
select substring(name,charindex(',',name)+1,len(name)-charindex(',',name)) from test2;”。
4、然后在该界面中,点击左上方“执行”按钮。
5、最后在该界面中,显示截取指定字段某一个字符出现后的后面的字符串成功
D. SQL 查询一列中,数字字符串中,最后一个数字字段的简单语句
结论:作为补充,我们使用MySQL字符串操作函数进行筛选。
like
只要是字符串操作函数,可达到筛选目的的一般均可使用。
但是查询性能需视情况而定。
以上。
E. sql 如何显示特定字段后的数字
oracle:
select substr(A, instr(A,'-')+1, instr(A,'-',1,2)-instr(A,'-')-1 ) from 表
或者
select substr(A, instr(A,'-')+1, 1) from 表
F. sql建表要求number后面括号里面的数字比如下图10和2代表什么
这是Oracle吧。
number(10,2) 表示数字类型 总共10位数,其中2位小数;(8位整数)。
number(m,n) 可以认为与sql标准的decimal(m,n)类型兼容。
G. 数据库怎样用sql语句查询字段最后面的小数点后面的数字
select reverse(substring(reverse(字段),0,CHARINDEX('0',reverse(字段)))) from 表名 where 条件
select reverse(substring(reverse('123.231.22.33'),0,CHARINDEX('0',reverse('123.231.22.33
')))) from 表
reverse() 反转
substring() 截取 参数1 表示要截取的字符 参数2 表示从那里截取 参数3 表示截取多少位
charindex() 查找 参数1 表示要查找的字符 参数2 表示从哪个字符串中查找
要截取最后一个点的位置后面的数 由于没有截取最后一个的函数 我们不妨先将字符串反转 从而找到第一个点的位置 截取的时候 我们也反转一下 那么最后得到截取的字符串也是被反转的 所以最后我们也要再反转成我们想要的值
H. SQL中的小数点后的输入位数.
1、用函数 ROUND(数值,s) ,其中 s 表示 小数位数。
例:SELECT ROUND(4.994,2) 返回 4.990。
2、用函数 CAST(数值 as numeric(n,s)),其中n表示有效数字位数,s表示小数位数。
例:SELECT CAST(4.994 as numeric(10,2)) 返回 4.99。
3、用函数 CONVERT(numeric(n,s),数值),其中n表示有效数字位数,s表示小数位数。
例: SELECT CONVERT(numeric(10,2),4.985) 返回 4.99。
其运用的函数是函数 TRUNC。而trunc函数的功能和函数INT类似,是截取日期或数字,返回指定的值。函数trunc直接去除数字的小数部分,而函数INT则是向下舍入到最接近的整数。
(8)sql后面数字扩展阅读
TRUNC(for number)语法格式:TRUNC(number,[decimals])
其中:
number 待做截取处理的数值。
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。
trunc函数 turnc(x,y)如果y是负数,则对x在小数点左边的第|y|位处进行截断。
例如:TRUNC(5.75, -1)=0;
看成 0005.75.000 从小数点左边第一位往左边截,是0。
下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推。
I. sql当中int后面的括号当中的数代表什么意思
在sql语言里面,基本数据类型包括:数值型、字符型、日期型、大文本型;其中int是数值型里面的整数类型。在建表的时候使用int来表示一个整型的属性; 而int(10)则表示长度最长为10位的整型属性; 带括号和不带括号主要是对最大长度的限制不同。
J. sql语句select 后面直接加数字是做什么
如果是非字段的话 也就是说数字或者是字符串 可以代替字段输出
比如
table表里面有 f1,f2,f3 3个字段 你只想获取F3字段的值 而 还想查询出来有3个字段显示那么就
SELECT 1, 2, f3 FROM table
他输出就是1,2 和F3字段的值
SELECT 就是输出语句 FROM才是针对表
SELECT 1,2,3
照样可以执行