关于字段的数据类型
发布网友
发布时间:2022-04-20 09:56
我来回答
共3个回答
热心网友
时间:2022-04-08 21:06
我给你说说这个题吧:
VARCHAR 是用来存储字符串的,这个我们都知道,举个例子:成绩列定义为VARCHAR(5)这样没错吧,插入数据的时候就用单引号引起来呗,可是这些数据我们要做处理的,并不是说插入就完了,字符串无法做运算,那我们就只好先把字符串转为INT ,虽然可以,但是不觉得麻烦吗。就跟MONEY类型,也可以用DOUBLE等来代替,再具体点:用decimal(20,4)来代替,只是用这个更方便,更符合实际。
回归正题:
如果我们把一列定义为datetime类型,也就是你说的date,我们在插入的时候也是要用引号引起来,跟插入字符串的格式是一样的,我们就可以把它看成是插入的一个字符串,只是用来表示时间,而且精确到了毫秒,而且时间还有一些自己的函数,可以比较大小,这些都比varchar处理起来方便,时间有个GETDATE()函数,取得当时系统时间,定义数据库时可以把它设为DEFAULT。这个就看实际问题了。
你从JAVA里面得到的时间是字符串,你一定要处理到格式跟SQL时间类型一致,可以用一个方法专门处理成这种格式,比较方便。只要格式上跟SQL里面时间格式一致就不会有问题,可以插入成功。
不会不规范。因为你能插入成功,就说明在SQL里面你插入的时间是规范的,SQL就会把它当作一个时间来处理。
不信你就试试吧。
热心网友
时间:2022-04-08 22:24
在数据表设置的每一个字段都有其用。使用时间或日期是必不可少。字段属性为date()/now(),是为了直接引用系统时间,方便输入和查询。如果使用的是字符串,那这个字段的作用就不能很好的应用了。
热心网友
时间:2022-04-08 23:59
1:
0538,
想要把0也储上,字段就不能设置为数字类型如int或float,因为数字类型前面有0,他会自动去掉变成538的,把字段设为char或varchar,就可以保存0538,是把数据作为字符来处理的,不管你是什么样的数字,都做为字符处理。
2
:如果你要存的数据只是
11月4号
,那字段只能设为char或varchar,如果设为datetime,那必须是有正规的日期格式,如:11-4-1,年月日,并且是用-号分开的。
3.
zhangsan
和
张三都是字符串,字符串就是由多个字符组成的,称为字符串。一个字符可以用任意值表示,不管是特殊符号,还是汉字,还是数字。
4
varchar只把汉字按两个字节处理。而nvarchar把任何字符都按两个字节处理
5:
sql中的单引号起到的是单引号里面的是实际的数据,如果不加单引号,则认为是变量,
如
select
'test',查出的结果则是test,
如果
select
test
他会出错的,他会视为test无效。
select
'10'
与select
10,前者是将10作为字符数据来显示的,后者,则是按数字显示的。
6:
select
name1
+
'
'
+
name2
as
name
这里的+'
'+号起到的是一个字符连接作用,
如果name1
是张,name2
是三
那查询出的结果则是张
三