首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据库存储日期字段类型到底应该用varchar还是datetime ?

在网上找了两篇总结Asp.net时间格式转化文章:asp.net 格式化时间日期、Asp.net时间格式几种方法。...解决方法          解决这个问题用了两个办法:         1、如果数据库存储时间数据类型为datetime,那就避免在后台代码(*.aspx.cs)中转化时间格式格式转化任务放到界面代码...2、数据库存储时间数据类型改为varchar(),不过这时最好让这些时间是数据库自动生成(一个没有格式输入也可能会导致输出错误),因为存储类型为varchar(),所以获取到值也就被认为是一个字符串...,这时在转换时间格式时就少了上图中【获取时间转化为客户端时间格式值】步骤,直接数据库时间字符串进行转化(这时那些转化函数是能识别数据库时间函数),客户端时间格式不再影响转换过程。...等,那就麻烦了,尤其实在大型数据查询中转换类型是会影响效率 总结         数据库存储日期字段类型到底应该用varchar还是datetime ?

3.8K30
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL数据库应用总结(六)—MySQL数据库数据类型和运算符(上)

1 整数类型 数据类型主要用来存储数字,MySQL提供多种可供选择整数类型,用整数作为数据类型字段可以设置auto_increment自增约束条件。...案例 创建数据库db_demo2,创建表tb_temp1,其中包含字段a、b、c、d、e数据类型分别为tinyint、smallint、mediumint、int(Integer)、bigint,SQL...00~69换为2000~2069;70~99换为1970~1999; 以2位数字表示YEAR值,范围为1~99。...1~69值是2001~2069;70~99范围值转换为1970~1999,而在这里0值被转换为0000; 案例 创建数据表tb_temp3,定义字段类型为YEAR字段y,向表插入数值2017,'2017...使用now(),插入当前系统日期时间 案例 创建数据表tb_temp6,定义字段类型为DATETIME字段dt,向表插入数值'2017-12-02 20:33:33' ,'20101010101010

3.2K50

SQL函数 CAST

日期可以用以下任何一种格式表示,这取决于上下文:所在地区显示日期格式(例如,MM/DD/YYYY); ODBC日期格式(YYYY-MM-DD); 或$HOROLOG整数日期存储格式(nnnnn)。...时间可以用以下任何一种格式表示,这取决于上下文:本地地区显示时间格式(例如,hh:mm:ss); ODBC日期格式(hh:mm:ss); 或$HOROLOG整数时间存储格式(nnnnn)。...例如,98.765换为INT返回98,转换为CHAR返回9,转换为CHAR(4)返回98.7。请注意,负数转换为CHAR仅返回负号,小数转换为CHAR仅返回小数点。...当数字值被转换为日期或时间数据类型时,它在SQL显示为0 (0); 但是,当数字转换为日期或时间时,从嵌入式SQL传递到ObjectScript,它显示为相应$HOROLOG值。...添加月和日字段缺少前导零。此转换显示方式取决于显示模式和区域设置日期显示格式。例如,‘2004-11-23’可能显示为‘11/23/2004’。

3.7K30

Hive 时间转换函数使用心得

【客户案例背景】 腾讯云大数据一个客户,oracle数据迁移到 hdfs ,做离线大数据处理。 数据处理过程,会采用 hive sql 去实现 oracle sql 一些相同功能。...被修改时间字段是 “年-月”格式,效果就是2015-09,减一个月得到2015-08。...(1) 首先,hive里面的to_date函数:日期时间日期函数: to_date语法:   to_date(string timestamp) 返回值:   string 说明: 返回日期时间字段日期部分...NULL 指定格式日期UNIX时间戳函数: unix_timestamp语法:   unix_timestamp(string date, string pattern) 返回值:   bigint...4、to_date 日期时间日期函数: to_date语法:   to_date(string timestamp) 返回值:   string 说明: 返回日期时间字段日期部分。

35.2K186

SQL函数 CONVERT

datatype - 要将表达式转换为数据类型。 format - 可选-指定日期和时间格式整数代码,用于在日期/时间/时间戳数据类型和字符数据类型之间进行转换。...描述 这里描述了CONVERT函数两种不同实现。 两者都将一种数据类型表达式转换为另一种数据类型相应值。 两者都执行日期和时间转换。...例如,可以字符流字段内容转换为数据类型为VARCHAR字符串。...{fn CONVERT(expression,datatype)}不支持流数据转换; 指定要表达字段导致SQLCODE -37错误。...该格式既可用于定义从日期/时间/时间戳数据类型转换为字符串时输出,也可用于定义从字符串转换为日期/时间/时间戳数据类型时输入。

5.1K21

数据库存储时间你用对了吗?

2.2、日期范围和存储空间: 这个类型能保存大范围值,从1000年到9999年,精度为秒。它把日期和时间封装到格式为YYYYMMDDHHMMSS整数,与时区无关。使用8个字节存储空间。...MySQL提供了FROM_UNIXTIME() 函数把 Unix 时间戳转换为日期,并提供了UNIX_TIMESTAMP() 函数把日期换为 Unix 时间戳。...3.2、存储空间和日期范围: Timestamp 类型保存了从 1970年1月1日午夜(格林尼治标准时间)以来秒数,它和UNIX时间戳相同。...,才转换为字符串格式本地时间。...5、对比 日期类型 存储空间 日期展示格式 日期范围 是否存在时区问题 Datetime 8字节 YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~9999-12-31

1.7K10

数据库MySQL-选择合适数据类型

(int类型存储时间是最好选择) 3、尽可能使用not null定义字段。...(innodb特性所决定,非not null值,需要额外字段存储,同时也会增加IO和存储开销) 4、尽量少用text类型,非用不可时最好考虑分表。...结论: 1、unix_timestamp()函数是日期格式数据转换为int类型 2、FROM_UNIXTIME(timestr)函数是int类型转换为时间格式 案例二:ip地址存储 在我们外部应用...,都要记录ip地址,大部分场合都是varchar(15)进行存储,就需要15个字节进行存储,但是bigint只需要8个字节进行存储,当数据量很大时候(千万级别的数据),相差7个字节,但是不能小看这7个字节...一个字段就多这么多,那如果我们这样字段需要上万个字段了?是需要很多存储空间。 使用bigint(8)来存储ip地址,利用INET_ATON(),INET_NTOA()两个函数来进行转换。

2K30

sql server时间戳timestamp

注释 Transact-SQL timestamp 数据类型与在 SQL-92 标准定义 timestamp 数据类型不同。...第一个 4 字节存储 base date(即 1900 年 1 月 1 日)之前或之后天数。基础日期是系统参考日期。不允许早于 1753 年 1 月 1 日 datetime 值。...timestamp 通常用作给表行加版本戳机制。 存储大小为 8 个字节。 timestamp 数据类型只是递增数字,不保留日期或时间。 若要记录日期或时间,请使用 datetime 数据类型。...数据库中将timestamp进行转换,可以转换成十六进制字符串类型或者BIGINT长整形 SELECT TS ,CAST(TS AS VARBINARY(8)) AS 'timestamp十六进制字符串...' ,CONVERT(BIGINT,TS) AS 'timestampbigint类型' FROM tb_Ts 总而言之,记住两点: 1、timespan列不允许显示插入及更新该字段,该字段会自动更新

8710

MySQL数据类型

储为字符串形式 date YYYY-MM-DD datetime YYYY-MM-DD HH:MM:SS timestamp YYYYMMDDHHMMSS time HH:MM:SS enum 选项值之一...一个标准整数 BIGINT 一个大整数 DECIMAL 定点数 FLOAT 单精度浮点数 DOUBLE 双精度浮点数 BIT 一个字节字段 字符串数据类型 字符串类型 描述 char 固定长度非二进制...SET成员 日期和时间数据类型 字符串类型 描述 DATE YYYY-MM-DD格式日期值 TIME hh:mm:ss格式时间值 DATETIME YYYY-MM-DD hh:mm:ss格式日期和时间值...TIMESTAMP YYYY-MM-DD hh:mm:ss格式时间戳记值 YEAR YYYY或YY格式年 空间数据类型 字符串类型 描述 GEOMETRY 任何类型空间值 POINT 一个点...值集合 MULTIPOINT POINT值集合 MULTIPOLYGON POLYGON值集合 JSON数据类型 MySQL 5.7.8版本支持原生JSON数据类型,可以更有效地存储和管理JSON

2.2K20

SQL系列(一)快速掌握Hive查询重难点

返回类型 函数 描述 备注 string from_unixtime(bigint unixtime[, string format]) 时间戳转换为指定格式日期 13位时间戳为毫秒,转为日期时间时需要除以...1000 bigint unix_timestamp() 获取当前地区时间戳 bigint unix_timestamp(string date) 日期转为时间戳 bigint unix_timestamp...列多行 表生成函数 Tkey,Tvalue explode(MAP m) 一列map各键-值转为多行 表生成函数 int,T posexplode(ARRAYa) 一列数组各元素位置...就是rank()结果按[0,1]标准化了0,0.33,0.33,1排序函数cume_dist() over()累积分布,结果按[0,1]标准化0.25,0.5,0.75,1排序函数ntile(n) over...因此在实际操作,在做group 强化之前,应将明细数据每个维度NULL值进行替换为'未知',用于标记维度本身取值;group 强化之后,应将每个维度NULL值再进行替换为'全部',用以标记group

2.9K21

Java 基础概念·Java 日期与时间

Java 日期与时间 本文为个人学习摘要笔记。 原文地址:廖雪峰 Java 教程之日期和时间 本地化 在计算机,通常使用 Locale 表示一个国家或地区日期、时间、数字、货币等格式。...,因此,字符串转换为 LocalDateTime 就可以传入标准格式: LocalDateTime dt = LocalDateTime.parse("2019-11-19T15:16:17"); LocalDate...标准格式如下: 日期:yyyy-MM-dd 时间:HH:mm:ss 带毫秒时间:HH:mm:ss.SSS 日期和时间:yyyy-MM-dd'T'HH:mm:ss 带毫秒日期和时间:yyyy-MM-dd'T'HH...旧 API 新 API 如果要把旧式 Date 或 Calendar 转换为新 API 对象,可以通过 toInstant() 方法转换为 Instant 对象,再继续转换为 ZonedDateTime...所以,最好方法是直接用长整数 long 表示,在数据库存储BIGINT 类型。时间戳具有省空间,效率高,不依赖数据库优点。

5.1K30
领券