varchar

MySQL的数据类型

﹥>﹥吖頭↗ 提交于 2020-03-05 08:21:55
Mysql版本众多,每个版本支持的数据类型繁多且不一样,本篇文章中主要基于MySQL Community Server 5.7.22介绍常用的数据类型,包括其特点以及区别。 MySQL数据类型 正确的定义表结构:数据类型、字段长度,对于数据库性能至关重要。 MySQL的数据类型大致可分三类: 数值类型 字符串(字符)类型 日期和时间类型 数值类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。 BIT数据类型保存位字段值,并且支持MyISAM、MEMORY、InnoDB和BDB表。 作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,255) 小整数值 SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777

MySQL字段类型

僤鯓⒐⒋嵵緔 提交于 2020-03-05 07:07:01
1 字段类型 字段类型分别为:数值类型、字符串类型、日期时间类型。 1.1 数值类型 数值类型分为整数类型和小数类型。整数类型为tinyint、smallint、mediumint、int、bigint。小数类型分为浮点型和定点型,有float、double、decimal。 1.1.1 tinyint 迷你整形,系统采用1个字节来保存。最大能表示的值为0-255(2^8 - 1) 1.1.2 smallint 小整形,系统采用2个字节来保存。最大能表示的值为0-65535(2^16 – 1)。 1.1.3 mediumint 中整形,系统采用3个字节来保存。最大能表示的值为2^24 – 1。 1.1.4 int 整形,系统采用4个字节来保存。最大能表示的值为2^32 – 1。 1.1.5 bigint 大整形,系统采用8个字节来保存。最大能表示的值为2^64 – 1。 1.1.6 float float又称之为单精度类型,系统采用4个字节来保存。但是能表达的范围要比整形大的多,大概是10^38。单精度浮点,精确到大约为7位。 1.1.7 double double又称之为双精度类型,系统采用8个字节来保存。表示的范围更大,大概是10^308。精度为大约15位。 1.1.8 decimal decimal又称之为定点数,系统自动根据存储的数据来分配存储空间

将竖着记录转化为一条记录

僤鯓⒐⒋嵵緔 提交于 2020-03-04 20:23:15
--使用游标来处理 CREATE TABLE tab(ID int,Area varchar(10)) INSERT tab SELECT 1,'A' UNION ALL SELECT 1,'B' UNION ALL SELECT 1,'C' UNION ALL SELECT 2,'D' UNION ALL SELECT 2,'E' UNION ALL SELECT 3,'F' GO declare @i int declare @ii varchar(100) set @ii = '' declare dd cursor for select distinct id from tab open dd fetch dd into @i WHILE @@FETCH_STATUS = 0 BEGIN select @ii=@ii+'.'+area from tab where id = @i print convert(varchar(10),@i)+ ' ' +stuff(@ii,1,1,'') set @ii = '' fetch dd into @i END CLOSE dd DEALLOCATE dd drop table tab --使用函数来处理 --处理的数据 CREATE TABLE tab(ID int,Area varchar(10)) INSERT tab

sql server 行合并

纵然是瞬间 提交于 2020-03-04 20:18:17
SQL SERVER:在SQL中分类合并数据行 --1. 创建表,添加测试数据 CREATE TABLE test(code varchar(50), [values] varchar(10)) INSERT test SELECT '001', 'aa' UNION ALL SELECT '001', 'bb' UNION ALL SELECT '002', 'aaa' UNION ALL SELECT '002', 'bbb' UNION ALL SELECT '002', 'ccc' --SELECT * FROM test code values ----------- ---------- 001 aa 001 bb 002 aaa 002 bbb 002 ccc (5 row(s) affected) --2 在SQL2000只能用自定义函数实现 ----2.1 创建合并函数fn_strSum,根据code合并values值 GO CREATE FUNCTION dbo.fn_Sum(@code varchar(50)) RETURNS varchar(8000) AS BEGIN DECLARE @values varchar(8000) SET @values = '' SELECT @values = @values + ',' + values FROM

SQL经典代码---合并列值

别来无恙 提交于 2020-03-04 20:12:58
合并列值 原著:邹建 改编:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-12-16 广东深圳 表结构,数据如下: id value ----- ------ 1 aa 1 bb 2 aaa 2 bbb 2 ccc 需要得到结果: id values ------ ----------- 1 aa,bb 2 aaa,bbb,ccc 即:group by id, 求 value 的和(字符串相加) 1. 旧的解决方法(在sql server 2000中只能用函数解决。) --1. 创建处理函数 create table tb(id int, value varchar(10)) insert into tb values(1, 'aa') insert into tb values(1, 'bb') insert into tb values(2, 'aaa') insert into tb values(2, 'bbb') insert into tb values(2, 'ccc') go CREATE FUNCTION dbo.f_str(@id int) RETURNS varchar(8000) AS BEGIN DECLARE @r varchar(8000) SET @r = '' SELECT @r = @r + ',' + value FROM tb

Sql常用日期格式

我的未来我决定 提交于 2020-03-04 07:19:35
原文发布时间为:2010-09-16 —— 来源于本人的百度文章 [由搬家工具导入] SQL Server 中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下 SQL Server 里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 20040912110608 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

sql datalength与len区别用法

醉酒当歌 提交于 2020-03-03 21:25:47
len ( string_expression )参数:要计算的字符串 len() 函数 len 函数返回文本字段中值的长度。 sql len() 语法 select len(column_name) from table_name 我们希望取得 "city" 列中值的长度。 我们使用如下 sql 语句: select len(city) as lengthofaddress from persons 返回指定字符串表达式的字符数,其中不包含尾随空格。 如果 expression 的数据类型为 varchar(max)、nvarchar(max) 或 varbinary(max),则为 bigint;否则为 int。 不可以对ntext字段进行计算 datalength ( expression ) 参数:任何数据类型的表达式 语法 datalength ( expre(www.111cn.net)ssion ) 参数 expression 任何类型的表达式。 返回类型 int use adventureworks2008r2; go select length = datalength(name), name from production.product order by name; go 返回用于表示任何表达式的字节数。 如果 expression 的数据类型为

存储过程间XML参数传递的实例

情到浓时终转凉″ 提交于 2020-03-03 18:33:40
--测试数据准备 Create table Product (ProductID varchar(18),cName varchar(50)) insert into Product Select '80100212800','A' insert into Product Select '80100250006','B' insert into Product Select '80101038000','C' -- 测试执行 Exec ProductGet --- 第一层代码 Alter PROCEDURE ProductGet AS Begin Declare @sql as nvarchar(max) Declare @cXML as XML Declare @cXML1 as XML Declare @cXML2 as XML Declare @cXML3 as XML Exec ProductOne '80100212800',@cXML1 Out Exec ProductOne '80100250006',@cXML2 Out Exec ProductOne '80101038000',@cXML3 Out --Set @cXML1 = @cXML1 + @cXML2 + @cXML3 Declare @cXML_ as XML Set @cXML_ = (Select

数据库自动对磁盘可用空间与日志文件过大的预警情况进么邮件提醒

浪子不回头ぞ 提交于 2020-03-03 17:48:13
-- 注意 MQLCK_profile 这个是要先定义好的数据库邮件配置文件名 -- exec MQ_CheckDriveFreeSpace 'F',10000 Create Proc MQ_CheckDriveFreeSpace (@cDrive as varchar(2),@nMinSizeMB as int) WITH ENCRYPTION as Begin Declare @nGetSizeMB as int Declare @cDBInfo as varchar(50) Declare @cEmlist1 as varchar(200) Declare @cEmlist2 as varchar(200) Set @cDBInfo = '15.11(HTSAC/SRM)' --101.12(QC) set @cEmlist1 = 'huangsl@haday.cn;yidk@haday.cn;chenrq@haday.cn' set @cEmlist2 = 'yidk@haday.cn;' Declare @nMaxLogSize as int --最大日志文件大小 MB Set @nMaxLogSize = 10000 --10GB --Set @cDrive ='D' --SET @nMinSizeMB = 26000 来源: CSDN 作者: moqing 链接:

Sql Server 常用日期格式

邮差的信 提交于 2020-03-02 22:41:02
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') 20040912110608 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