guid长度 uuid长度生成
平台中,把生成的guid转化为int类型的HashCode,这个用guid转化的hashCode的取值范围有没有固定的
Exec sp_addtype订单号就用自增Id就行了,设置为long类型,几乎用不完,京东订单号就是完全的自增id,
guid长度 uuid长度生成
guid长度 uuid长度生成
把数据库中的char类型改为nvarchar2类型,然后就可以把String类型的数据直接存进去了。如果你用的是ORACLE数据库。--。
淘宝的订单号也是用的自增id,2010年后增加了后面四位特征码,前面还是自增id,到现在也才500多亿。
订单号希望有多长?年月日时分秒可以是12位,如果可以接受16位的话,可以考虑年月日时分秒+毫秒+GUID,再求一个MD5
sql server中创建表时各个数据类型时什么意思??
real 实型我学这个时学了sql数据库9大数据类型,但其中有一部分我到现在也不明白究竟什么时候用,因为后来很少用到,我就给你列举一下那些常用的吧!
1.字符型数据:
charvarchartext
这几种数据类型都是用来装字符串的
char 固定长度存储数据
varcahr 按变长存储数据
text 当你需要存储非常大量的字符串时使用
nchar、nvarchar、ntext
这几个也是存储字符串的,与上面的对应相同。不同的是这三种类型,是采用Unicode编码,当你做化的网站时使用
2.日期时间型数据
datetime、alldatetime
都是用于存储日期和时间信息
datetime:存放1/1/1753-12/31/9999的时间数据,到0.001s
alldatetime: 存放1/1/1900-6/6/2079的时间,到秒
3.整数型数据
用于存放整数
bigint、int、allint、tinyint
bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。
int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。
allint 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。
tinyint 从 0 到 255 的整数数据。
4.小数型数据
用于存放小数
decimal、numeric
5.近似数值类型
用于存放近似数
float、real
6.货型数据
money、allmoney
在输入货型数据时要在其前加货符号,若为负值,则在货符号后加符号
7.位类型数据
bit
这个刚学不好理解,我给你打个比方吧。比如你的表中有一列放性别,性别只有两种可能性,不是男就是女。这时你就可以把性别这列的数据类型设为bit。凡是与之类似的情况都可以用bit类型数据。
如果还有什么不懂的,可以看看sql的联机丛书。
------------------------------------------------------------------
SQL :
bit
整型
bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off
int
整型
allint
整型
allint 数据类型可以存储从- 215(-32768)到215(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间
tinyint
整型
tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节
numeric
数值型
numeric数据类型与decimal 型相同
decimal
数值型
decimal 数据类型能用来存储从-1038-1到1038-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数
money
货型
allmoney
货型
allmoney 数据类型用来表示钱和货值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,单位的万分之一
近似数值型
float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其范围内不是所有的数都能表示。浮点数可以是从-1.79E+308到1.79E+308 之间的任意数
real
近似数值型
real 数据类型像浮点数一样,是近似数值类型。它可以表示数值在-3.40E+38到3.40E+38之间的浮点数
datetime
日期时间型
datetime数据类型用来表示日期和时间。这种数据类型存储从1753年1月1日到9999年12月3 1日间所有的日期和时间数据, 到三百分之一秒或3.33毫秒
Smalldatetime
日期时间型
alldatetime 数据类型用来表示从1900年1月1日到2079年6月6日间的日期和时间,到一分钟
cursor
特殊数据型
cursor 数据类型是一种特殊的数据类型,它包含一个对游标的引用。这种数据类型用在存储过程中,而且创建表时不能用
timest的子项。amp
特殊数据型
timestamp 数据类型是一种特殊的数据类型,用来创建一个数据库范围内的数码。 一个表中只能有一个timestamp列。每次插入或修改一行时,timestamp列的值都会改变。尽管它的名字中有“time”, 但timestamp列不是人们可识别的日期。在一个数据库里,timestamp值是的
Uniqueidentifier
特殊数据型
Uniqueidentifier数据类型用来存储一个全局标识符,即GUID。GUID确实是全局的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数或转换一个字符串为标识符来初始化具有标识符的列
char
字符型
char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。此数据类型的列宽为8000 个字符
varchar
字符型
varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的长度。 它与char数据类型的区别是,存储的长度不是列长,而是数据的长度
text
字符型
text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符
统一编码字符型
nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍
nvarchar
统一编码字符型
nvarchar 数据类型用作变长的统一编码字符型数据。此数据类型能存储4000种字符,使用的字节空间增加了一倍
ntext
统一编码字符型
ntext 数据类型用来存储大量的统一编码字符型数据。这种数据类型能存储230 -1或将近10亿个字符,且使用的字节空间增加了一倍
binary
binary数据类型用来存储可达8000 字节长的定长的二进制数据。当输入表的内容接近相同的长度时,你应该使用这种数据类型
varbinary
varbinary 数据类型用来存储可达8000 字节长的变长的二进制数据。当输入表的内容大小可变时,你应该使用这种数据类型
image
image 数据类型用来存储变长的二进制数据,可达231-1或大约20亿字节
-------------------------------------------------------------------
Oracle:
数据类型 参数 描述
char(n) n=1 to 2000字节 定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)
varchar2(n) n=1 to 4000字节 可变长的字符串,具体定义时指明长度n,
这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。
如果数据长度没有达到值n,Oracle 8i会根据数据大小自动调节字段长度,
如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。
可做索引的长度3209。
number(m,n) m=1 to 38
n=-84 to 127
可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以后的位数。
如:number(5,2),则这个字段的值是99,999,如果数值超出了位数限制就会被截取多余的位数。
如:number(5,2),但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575.32。
如:number(3,0),输入575.316,真正保存的数据是575。
date 无 从公元前4712年1月1日到公元4712年12月31日的所有合法日期,
Oracle 8i其实在内部是按7个字节来保存日期数据,在定义中还包括小时、分、秒。
缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。
long 无 可变长字符列,长度限制是2GB,用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。
long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
raw(n) n=1 to 2000 可变长二进制数据,在具体定义字段的时候必须指明长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Mosoft Word文档。
raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
long raw 无 可变长二进制数据,长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Mosoft Word文档,以及音频、视频等非文本文件。
在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。
blob
clob
nclob
无 三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Mosoft Word文档,以及音频、视频等非文本文件,长度是4GB。
LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。
可以执行读取、存储、写入等特殊作。
bfile 无 在数据库外部保存的大型二进制对象文件,长度是4GB。
这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。
Oracle 8i可以读取、查询BFILE,但是不能写入。
大小由作系统决定。
数据库中任一字段类型均不支持超长字符串
Uniqueidentifier。数据库字段类型中的字符串类型一定要声明长度吗
Cursor1、不是,但默认长度为1,char的长度介于1到8000,且为固定长度。如果你的数据长度为1已经满足要求则可以不定义。定义多长,就会有多长。
2、是的,你需要指定一个这个字段所能保存的长度,一般在定义字段时,可以估计一下这个字段的长度,因为你已经知道它的用途了。
3、不是必须指定。如果没有在数据定义或变量声明语句中指定n,则默认长度为1。如果在使用CAST和CONVERT函数时未指定n,则默认长度为30。
ja中String的字符串太大插不进数据库怎么办
好像是sql的长度不能超过4000字符,long类型现在已经不使用,建议使用clob字段。
根据字符串分割函数,先将这些数据转化为datatable类型,然后插入数据库。之前实现过,但是现在忘了,具体的思路就是这个样子。你自己可以试着实现一下。。
你在这里stmt.executeUpdate(sql);打个断点,然后把SQL的值拷贝出来,放到数据库里直接运行一下,什么时候拷贝出来的SQL直接运行没问题了,那么程序也就没问题了。
你可以将字符串数组序列化后转换为字符串,再保存到数据库中的某一个字段中。取得数组时,可以先读取某一个字段取得字符串后再反序列化得到数组。
数据库表中字段类型有哪些?
1、.文本型(Text):用于输入文本或文本与数字相结合的数据,是最常用的字段类型之一,又分为短文本和长文本两种,区别就是短文本的字符长度不超过255个字符(字节)。
2、Access数据库为字段提供了10种数据类型,具体如下:1.文本型(Text):用于输入文本或文本与数字相结合的数据,最长为255个字符(字节),默认值是50。
3、数据库中常用的字段类型有:字符型、数值型、逻辑型、备注型。这四种是最常用的。
4、字段(field)一个成员,它表示与对象或类关联的变量。在数据库中,大多数时,表的“列”称为“字段”,每个字段包含某一专题的信息。
5、Access允许九种数据类型:文本、备注、数值、日期/时间、货、自动编号、是/否、OLE对象、超级链接、查询向导。在表的设计视图中,每一个字段都有设计类型。
6、SQL通用数据类型数据库表中的每个列都要求有名称和数据类型。
数据库里面能有2000的数据类型吗
1、mysql0版本以前,varchar()能定义255。0以上版本支百持65535字节长度,utf8编码下最多支持21843个字符度(不为空)。mysql0版本以前,varchar(2000)不正确,0以上版本正确。
2、CHAR()CHAR数据类型是一种有固定长度和长度的字符串。存储在数据类型为CHAR字段中的数据将以空格的形式补到长度。长度定义在1——2000字节之间。
3、raw(n)n=1to2000可变长二进制数据,在具体定义字段的时候必须指明长度n,Oracle8i用这种格式来保存较小的图形文件或带格式的文本文件,如MosoftWord文档。
4、SQL用于各种数据库的数据类型:MySQL数据类型:在MySQL中,有三种主要的类型:Text(文本)、Number(数字)和Date/Time(日期/时间)类型。Text类型。Number类型。这些整数类型拥有额外的选项UNSIGNED。
5、这个看你有多少成本了,有足够成本的话,用int类型,默认长度11,要是严谨点的话就用allint,这个范围在0-65535够用了。
6、在一个数据库里,timestamp值是的Uniqueidentifier特殊数据型Uniqueidentifier数据类型用来存储一个全局标识符,即GUID。GUID确实是全局的。这个数几乎没有机会在另一个系统中被重建。
数据库中的一个字段的数据大小不定如何设置字段的长度查询最快又节省...
1、另外,一个汉字在Oracle数据库里占多少字节跟数据库的字符集有关,UTF8时,长度为三。
2、将ACCESS选项中的“表设计”的默认字段类型和默认字段大小分别设置成数字和双精度型即可。
3、就一个一个的回答吧主键要求长度为6位下一个字段长度为100位下一字段长度为20位。。
SQL 数据库 数据类型 固定长度的字符串怎么定义
使用sql 的 check constrain
The CHECK constraint is used to limit the value range that can be placed in a column.
If you define a CHECK constraint on a single column it allows only certain values for this column.
Create Table Student(
Sno char(5) check (len(Sno)=5)
)insert Student select 123
九、 特定数据类型/
Msg 547, Ll 16, State 0, Line 1
出错
/when substring(@h,@i,1)<='q' then '26'
insert Student select 12345
/
成功
/
如何用phpfor循环生成5位,数字字母组合,不重复
nchar不可能重复,你算一下,数字共10位,字母26位,共36位字符。
显示是5位,即3636363636次机会,等于60466176。
function getRandom($param){
$str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$key = "";
for($i=0;$i<$param;$i++)
{$key .= $str{mt_rand(0,60)};你说的这个"char""varchar"是ORACLE的字段类型 不是SQL 的 我把两个都列给你看下吧 //生成php随机数
}return $key;
}getRandom(5);希望对你有所帮助!
sql server 将一个整数转为7个长度的字符串
money 数据类型用来表示钱和货值。这种数据类型能存储从-9220亿到9220 亿之间的数据,单位的万分之一这个应该没有难度,但是有一点不明白,没明白你具体想问什么,当超过7位用字符替换,但是是什么规则呢?或者你就是想问怎么设定规则?
2字节,值为-2^15~2^15-1如果你就是想问规则的话,我想需要按照你那个表实际需要存储多少数据来看,如果存储的数据是海量,主键设定成7位的字符串,本身就是错误的。
给你几点建议吧
1、如果不幸被言重,你的表是海量数据,无边无际,主键用guid吧(sql server中NEWID()自动产生guid),或者用bigint(没有真的无边无际的数据吧,真的无边无际就用GUID吧),我们大数据都用bigint做主键,你可以考虑一下。
2.如果数据量不是很大,只要找到合适的规则,7位字符串一定够用(也不建议7位字符串,就是一个主键,弄个逻辑主键就行了,为什么要7位字符串呢?好吧,设你们也无特殊,必须7位字符串),你可以考虑用16进制的数字,不够7位的前面补0,这样你主键的容量一下子由10的7次幂变成16的7次幂,还不够,换成32进制,这样就变成32的7次幂了,这样应该够了吧。
好了,就写这么些了,就是个建议,权当给你扩展一下思路,不过,7位字符串的主键,主键还用触发器来维护(触发器不稳定的,至少我这么看),好蛋疼啊,哈哈。
-- 小于7位的处理方式:
SELECT right(cast('000000000'+rtrim(777) as varchar(20)),7)-- 大于7位的处理方式:(范例,自己修改,思路如下)
alter function hextointchar2(@h varchar(100))
returns varchar(100)
as
begin
-- select dbo.hextointchar2('51ab')
declare @r varchar(100)
set @r=''
declare @i bigint
set @i=7
begin
while @i<=len(@h)
begin
set @r= @r+
case
when substring(@h,@i,1)<='9' then '0'+substring(@h,@i,1)
when substring(@h,@i,1)<='a' then '10'
when substring(@h,@i,1)<='b' then '11'
when substring(@h,@i,1)<='c' then '12'
when substring(@h,@i,1)<='d' then '13'
when substring(@h,@i,1)<='e' then '14'
when substring(@h,@i,1)<='f' then '15'
when substring(@h,@i,1)<='g' then '16'
when substring(@h,@i,1)<='h' then '17'
when substring(@h,@i,1)<='i' then '18'
when substring(@h,@i,1)<='j' then '19'
when substring(@h,@i,1)<='k' then '20'
when substring(@h,@i,1)<='l' then '21'
when substring(@h,@i,1)<='m' then '22'
when substring(@h,@i,1)<='n' then '23'
when substring(@h,@i,1)<='o' then '24'
when substring(@h,@i,1)<='p' then '25'
when substring(@h,@i,1)<='r' then '27'
when substring(@h,@i,1)<='s' then '28'
when substring(@h,@i,1)<='t' then '29'
when substring(@h,@i,1)<='u' then '30'
when substring(@h,@i,1)<='v' then '31'
when substring(@h,@i,1)<='w' then '32'
when substring(@h,@i,1)<='x' then '33'
when substring(@h,@i,1)<='y' then '34'
when substring(@h,@i,1)<='z' then '35'
end
set @i=@i+1
end
max在sqlserver中可以对任何字段进行比较值,如果是字符型的话就是字符,数字,字母,文字,字符的具体顺序的话没有了解过,数字过0-9,字母a-z,文字要看有多少个字,然后按个字的开头文字排序,如果个有重的然后再按第二个,以此类推,例字段中有 a z 林 夏那他的值为夏
mysql中有数量用什么数据类型
reg_multi_sz数值,典型代表为 tinyint,int,bigint浮点/定点,典型代表为 float,double,decimal 以及相关的同义词字符串,典型代表为 char,varchar时间日期,典型代表为 date,datetime,time,timestamp二进制,典型代表为 binary,varbinary位类型枚举类型
二进制数据类型类型
数据库中字符串长度,设置长短大小会不会影响性能
设计数据库时,很注重字段类型及长度,因为书上说,会有性能问题,因为char比varchar速度要快很多,所以能用固定长度的就不要用变长字段,比如号就可以使用CHAR(18),而不应该使用VARCHAR(18)。 Nvarchar占的空间要比varchar大,所以确定是英文时,就不要使用Nvarchar。 主键如果能用tinyint就不要用int,SQL CHECK Constraint能用int就不要If you define a CHECK constraint on a table it can limit the values in certain columns based on values in other columns in the row.用GUID,节省空间速度快。不太关注数据库字段类型及长度,因为经常发生数据库字段设置过小的问题,或要改变类型如果使用了多个存储过程对一个表增改,当类型或字段长度变化时,就不得不去更改那些存储过程,如果漏掉哪个,程序执行结果也许就是错的。如:字段长度变长时,没有更新存储过程字段长度,程序照常执行,不会报错,存储过程会自动从长的字符串里截取他所支持的长度插到数据库里
SQL 数据库--表--新建表时的数据类型都是什么意思啊?
也只是6000万,越使用重复的机率越高。bigint 长整形,8长度
数据类型存储数据的范围。binary 二进制
bit 1,0 读取的时候一般会被转换成true,false
char 字符型(固定占用空间)如char(10)
datatime 日期类型,8
decimal 也是数字类型
float 单精度,8
image 保存(不过系统有很多很大不建议使用)image 数据类型用来存储变长的二进制数据,可达231-1或大约20亿字节
int 整形,占4
money 也可以是单精度类型,保存的时候以钱的显示方式
nchar 可变长字符
ntext 可变长的Text,保存文章内容使用的
numeric 类似decimal
nvarchar 可变长的字符,常用于保存中文字符
real 类似float,从-3.40^38到3.40^38之间的浮点数字数据。在SQL 中,real的同义词为float(24)。
alldatetime 从1900年1月1日到2079年6月6日的日期和时间数据,到分钟。
allint 小整形,2位 从-2^15(-32,768)到2^15-1(32,767)的整数数据。
allmoney 都是money的一半大小
sql_variant
text 保存大容量的字符串
timestamp 特殊数据型,timestamp 数据类型是一种特殊的数据类型,用来创建一个数据库范围内的数码。 一个表中只能有一个timestamp列。每次插入或修改一行时,timestamp列的值都会改变。尽管它的名字中有“time”, 但timestamp列不是人们可识别的日期。在一个数据库里,timestamp值是的
tinyint tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节
uniqueidentifier Uniqueidentifier数据类型用来存储一个全局标识符,即GUID。GUID确实是全局的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数或转换一个字符串为标识符来初始化具有标识符的列
varbinary varbinary 数据类型用来存储可达8000 字节长的变长的二进制数据。当输入表的内容大小可变时,你应该使用这种数据类型
varchar varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的长度。 它与char数据类型的区别是,存储的长度不是列长,而是数据的长度
哎好多呀
不过懂得一些,不多其他也就知道了
int varchar 之类的 代表整型 和字符串之类的
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。