mysql保存时间 保存后时分秒全为零

mysql保存时间 保存后时分秒全为零,第1张

MySQl中有多种表示日期和时间的数据类型。其中YEAR表示年份,DATE表示日期,TIME表示时间,DATETIME和TIMESTAMP表示日期和实践。它们的对比如下:

TEAR

字节数为1,取值范围为“1901——2155”

DATE,字节数为4,取值范围为“1000-01-01——9999-12-31”

TIME,字节数为3,取值范围为“-838:59:59——838:59:59”

DATETIME,字节数为8,取值范围为“1000-01-01

00:00:00——9999-12-31 23:59:59”

TIMESTAMP,字节数为4,取值范围为“19700101080001——20380119111407”

当插入值超出有效取值范围时,系统会报错,并将零值插入到数据库中。

CONVERT的使用方法:

格式:

CONVERT(data_type,

expression

[,style])

说明:

此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)

互转换的时候才用到

style数字在转换时间时的含义如下

-------------------------------------------------------------------------------------------------

Style(2位表示年份)

|

Style(4位表示年份)

|

输入输出格式

-------------------------------------------------------------------------------------------------

-

|

0

or

100

|

mon

dd

yyyy

hh:miAM(或PM)

-------------------------------------------------------------------------------------------------

1

|

101

|

mm/dd/yy

-------------------------------------------------------------------------------------------------

2

|

102

|

yy-mm-dd

-------------------------------------------------------------------------------------------------

3

|

103

|

dd/mm/yy

-------------------------------------------------------------------------------------------------

4

|

104

|

dd-mm-yy

-------------------------------------------------------------------------------------------------

5

|

105

|

dd-mm-yy

-------------------------------------------------------------------------------------------------

6

|

106

|

dd

mon

yy

-------------------------------------------------------------------------------------------------

7

|

107

|

mon

dd,yy

-------------------------------------------------------------------------------------------------

8

|

108

|

hh:mm:ss

-------------------------------------------------------------------------------------------------

-

|

9

or

109

|

mon

dd

yyyy

hh:mi:ss:mmmmAM(或PM)

-------------------------------------------------------------------------------------------------

10

|

110

|

mm-dd-yy

-------------------------------------------------------------------------------------------------

11

|

111

|

yy/mm/dd

-------------------------------------------------------------------------------------------------

12

|

112

|

yymmdd

-------------------------------------------------------------------------------------------------

-

|

13

or

113

|

dd

mon

yyyy

hh:mi:ss:mmm(

24小时制

)

-------------------------------------------------------------------------------------------------

14

|

114

|

hh:mi:ss:mmm(24小时制)

-------------------------------------------------------------------------------------------------

-

|

20

or

120

|

yyyy-mm-dd

hh:mi:ss(24小时制)

-------------------------------------------------------------------------------------------------

-

|

21

or

121

|

yyyy-mm-dd

hh:mi:ss:mmm(24小时制)

插进去的数据都没问题,但是通过页面插入的时候,其他都是好的,数字都为0了

通过页面插入就是不行,我的数字是从其他页面获得的

------------------------

首先,由于你是"数字",所以不是编码问题了

从你情况看来,估计你"从其他页面获得"时的值有问题

建议你打印跟踪这些值看看其内容是否正确.

比如echo $str 输出的是123

但是当我转正整型的时候,比如intval($str)的时候输出的居然是0,我的$str是从其他地方获取的,编码和我的页面编码一样,我试过很多转换方式,转成int型之后都变成0了,不知道怎么回事

-----------------------------

呵,都说是你值转换的问题了

估计你这里还是转得有问题(用的函数不对?)

其实你不用转了,直接把字符型的insert进表就可以了,数据库内部会自动转的(但前提是你的"字符串"一定符合"数值"的格式,否则会自动转时报错)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9789224.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存