varchar

SqlServer常用日期格式

末鹿安然 提交于 2020-03-02 21:52:39
整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 20040912110608 select Replace(CONVERT(varchar, getdate(), 111),'/','-') 2004-09-12 select CONVERT(varchar(12) , getdate(), 111 ) 2004/09/12 select CONVERT(varchar(12) , getdate(), 112 ) 20040912 select CONVERT(varchar(12) , getdate(), 102 ) 2004.09.12 select CONVERT(varchar(12) , getdate(), 101 ) 09/12/2004 select CONVERT(varchar(12) , getdate(), 103 ) 12/09/2004 select CONVERT(varchar(12) , getdate(), 104

sql 语言 查询前N天之前的数据

大兔子大兔子 提交于 2020-03-02 20:19:36
1、查询前30天的数据,如果DateTime为字符串型,则需要将getdate()获取到的日期型通过convert转换为字符串型(查询前五天则将30改成5): select * from table where DateTime>CONVERT(varchar(100), dateadd(day,-30,GETDATE()), 112) 参考地址:http://www.ablanxue.com/prone_10028_1.html http://www.cnblogs.com/zhangq723/archive/2011/02/16/1956152.html 用sql查询当天,一周,一个月的数据 数据查询,不管在网站还是在系统,都很常见,下文是介绍最常见的以日期查询的语句 select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查询当天日期在一周年的数据 select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 //查询当天的所有数据 --查询前5天 select * from info where datediff(day,cast(ordTime as datetime),getdate())>5 //ordTime

Mysql5.7新特性Online DDL

╄→гoц情女王★ 提交于 2020-03-02 18:02:37
ALGORITHM=INPLACE,可以避免重建表带来的IO和CPU消耗,保证ddl期间依然有良好的性能和并发。 ALGORITHM=COPY,需要拷贝原始表,所以不允许并发DML写操作,可读。这种copy方式的效率还是不如 inplace ,因为前者需要记录undo和redo log,而且因为临时占用buffer pool引起短时间内性能受影响。 1、在线添加索引: alter table test_emp add index idx_id (c1),ALGORITHM=INPLACE; 2、在线添加字段: alter table test_emp add name varchar(100) not null default '',ALGORITHM=INPLACE; 3、在线修改字段属性: alter table test_emp ALGORITHM=INPLACE,modify c6 varchar(85) not null default ''; 1.PRIMARY KEY(主键索引) mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) ,ALGORITHM=INPLACE; 2.UNIQUE(唯一索引) mysql>ALTER TABLE `table_name` ADD UNIQUE (`column`

MySQL Schema与数据类型的优化

一世执手 提交于 2020-03-02 16:20:18
选择优化的数据类型: 1、 更小的通常更好: 一般情况下,应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型通常更快,因为他们占用更少的磁盘,内存和cpu缓存,并且处理时需要的cpu周期也更少。 2、 简单就好 简单的数据类型操作通常需要更少的cpu周期。例如,整型比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比较比整型更加复杂。注:应使用mysql内建的类型存储时间和日期,而不是字符串。 3、 尽量避免null 如果查询中包含可为null的列,对Mysql来说更难优化,因为可为null的列使得索引、索引统计和值都比较复杂。可为null的列会使用更多的存储空间,在mysql中也需要特别处理。当可为null的列被索引时,每个索引记录需要一个额外的字节。 通常把可为null的列改为not null带来的性能提升比较小。在调优时,没有必要首先在现有的shema中查找并修改掉这个情况,除非确定这会导致问题。但是如果列上建索引,就应尽量避免设计成可为null的列。 整数类型: 整数类型有TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT。分别使用8,16,24,32,64位存储空间。他们可以存储的值的范围从-2的(n-1)次方到2的(n-1)次方-1,其中n是存储空间的位数。 整数类型有可选的UNSIGNED属性,表示不允许负值

Sql 中常用日期转换Convert(Datetime)

我们两清 提交于 2020-03-02 11:22:47
CONVERT(data_type,expression[,style]) convert(varchar(10),字段名,转换格式) 说明: 此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar) 相互转换的时候才用到. 语句 结果 SELECT CONVERT(varchar(100), GETDATE(), 0) 07 15 2009 4:06PM SELECT CONVERT(varchar(100), GETDATE(), 1) 07/15/09 SELECT CONVERT(varchar(100), GETDATE(), 2) 09.07.15 SELECT CONVERT(varchar(100), GETDATE(), 3) 15/07/09 SELECT CONVERT(varchar(100), GETDATE(), 4) 15.07.09 SELECT CONVERT(varchar(100), GETDATE(), 5) 15-07-09 SELECT CONVERT(varchar(100), GETDATE(), 6) 15 07 09 SELECT CONVERT(varchar(100), GETDATE(), 7) 07 15, 09 SELECT CONVERT

【工作问题】数据库中保存时间到底用varchar还是Date?

守給你的承諾、 提交于 2020-03-02 11:18:04
【工作问题】数据库中保存时间到底用varchar还是Date? 近日工作中和DBA(姑且算是)发生了争论。起因是我建数据库的时候时间字段全部设为了Date类型,但DBA坚持要使用varchar(string)类型来保存时间。 那么到底谁对呢?来看下对比 Date类型存时间的好处如下: 存储空间:Date类型只占用7个字节 索引效率 函数运算:比较,排序 插入或更新数据时,Date可设为默认插入或更新为当前时间 多语言,跨区域的时候,格式和时区根据登录用户不同需要转化为不同的显示格式 varchar类型存时间的好处如下: 格式固定 不同的数据库间移置 在涉及多个数据库或多种语言时,存为字符串类型优于date,问题是是否有这种迁移的预期和必要性。在其他情况下,我觉得都是Date类型优先的。 但实际工作中,还是听领导的吧。。。。 来源: CSDN 作者: CCCCCCCYYY_ 链接: https://blog.csdn.net/ccystewart/article/details/104605114

MySql数据库基础

三世轮回 提交于 2020-03-02 10:04:07
1.数据库概述 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。 2.表数据 根据表字段所规定的数据类型,我们可以向其中填入一条条的数据,而表中的每条数据类似类的实例对象。表中的一行一行的信息我们称之为记录。 3.Mysql启动与登录  MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录。 4.SQL语句    l SQL分类: n 数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等 n 数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等 n 数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。 n 数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等 5.通用语法    l SQL语句可以单行或多行书写,以分号结尾 l 可使用空格和缩进来增强语句的可读性

Sql Server中Float格式转换字符串varchar方法

孤街醉人 提交于 2020-03-02 09:43:46
SELECT CONVERT(varchar(100), CAST(@testFloat AS decimal(38,2))) SELECT STR(@testFloat, 38, 2) 从Excel中导入到sql2000,有一列“联系方式”变成了float类型,我想转换成nvarchar类型,用下面的语句 select convert(nvarchar(30),convert(int,联系方式)) from employee go //数据溢出,不行! select convert(nvarchar(30),convert(decimal(11,0),联系方式)) from employee go //数据转换成功! SELECT CONVERT(nvarchar(100), CAST(联系方式 AS decimal(11,0))) from employee go //数据转换成功! SELECT STR(联系方式, 11, 0)from employee go //数据转换成功! 总结,float---decimal----nvarchar 关于SQL SERVER中的FLOAT转换为VARCHAR 一个FLOAT型的字段,要转换为VARCHAR,可是小数点后面的都自动被删去了。。。后查得可以通过如下转换获得: SELECT CAST(CAST(字段 AS DECIMAL

mysql读写分离

二次信任 提交于 2020-03-01 21:03:34
什么是读写分离   在数据库集群架构中,让主库负责处理事务性查询,而从库只负责处理select查询,让两者分工明确达到提高数据库整体读写性能。当然,主数据库另外一个功能就是负责将事务性查询导致的数据变更同步到从库中,也就是写操作。 读写分离的好处    1)分摊服务器压力,提高机器的系统处理效率      读写分离适用于读远比写的场景,如果有一台服务器,当select很多时,update和delete会被这些select访问中的数据堵塞,等待select结束,并发性能并不高,而主从只负责各自的写和读,极大程度的缓解X锁和S锁争用;     假如我们有1主3从,不考虑上述1中提到的从库单方面设置,假设现在1分钟内有10条写入,150条读取。那么,1主3从相当于共计40条写入,而读取总数没变,因此平均下来每台服务器承担了10条写入和50条读取(主库不承担读取操作)。因此,虽然写入没变,但是读取大大分摊了,提高了系统性能。另外,当读取被分摊后,又间接提高了写入的性能。所以,总体性能提高了,说白了就是拿机器和带宽换性能;    2)增加冗余,提高服务可用性,当一台数据库服务器宕机后可以调整另外一台从库以最快速度恢复服务 什么是 Mycat   是一个开源的分布式数据库系统,但是因为数据库一般都有自己的数据库引擎,而Mycat并没有属于自己的独有数据库引擎

MYSQL数据库及字段命名规范

*爱你&永不变心* 提交于 2020-03-01 16:23:07
1. 数据库命名规范 由小写字母及下划线组成,一般采用业务名称简写。如 web_19floor_net web_car 备份数据库名称为正式库+当前时间 . web_19floor_net_20070403 web_car_20070403 2. 数据库表命名规范 数据表名使用小写英文以及下划线组成,尽量说明是那个应用或者系统在使用的. 相关应用的数据表使用同一前缀,如 论坛的表使用cdb_前缀,博客的数据表使用supe_前缀,前缀名称一般不超过5字 比如: web_user web_group supe_userspace 备份数据表名使用正式表名加上备份时间组成,如: web_user_20070403 web_group_20070403 supe_userspace_20070403 3. 字段命名规范 字段名称使用单词组合完成,首字母小写,后面单词的首字母大写,最好是带表名前缀. 如 web_user 表的字 段: userId userName userPassword 表与表之间的相关联字段要用统一名称, 如 web_user 表 里面的 userId 和 web_group 表里面的 userId 相对应 4. 字段类型规范 规则:用尽量少的存储空间来存 数一个字段的数据. 比如能用int的就不用char或者varchar 能用tinyint的就不用int 能用