草庐IT

varchars

全部标签

mysql 最大行为与 varchar 字段中的数值

我们有一个包含键和值的数据库表,其中值可以是varchar字段中的任何内容。这些值是关于商品的属性,其中一个属性是价格。为了为价格创建一个选择字段,我使用了Max()函数来查找值列中的最大值,这似乎可行。然后当我们得到超过100英镑的价格时,它们开始不会作为最大值返回。我知道这是因为它是一个字符串值而不是数字。当运行像selectmax(value)fromattributeswherevalue>100这样的命令时会出现混淆,因为现在该语句识别出101>100但99不是,所以返回101作为最大值,但是如果没有wherevalue>100子句,99将被视为>101。为什么>100子句可

MySQL char 和 varchar 字符集和存储大小

想知道这两种数据类型实际占用了多少存储空间,因为MySQL文档在这方面有点不清楚。CHAR(M)M×wbytes,0VARCHAR(M),VARBINARY(M)L+1bytesifcolumnvaluesrequire0–255bytes,L+2bytesifvaluesmayrequiremorethan255bytes这对我来说似乎意味着,给定一个utf8编码的数据库,CHAR将始终占用每个字符32位,而VARCHAR将占用8到32位,具体取决于存储字符的实际字节长度。那是对的吗?或者VARCHAR是否意味着8位字符宽度,并且存储多八位字节UTF8字符实际上会消耗VARCHAR中

mysql - 在 Varchar 上创建 MySQL 索引总是会产生 2 个索引?

我的表中有一个email列,它是一个VARCHAR(255)。大多数电子邮件只有40-50个字符长,其余字符只是在极少数情况下存在。因此,我只想索引电子邮件列的前50个字符。我已经尝试用这个查询来做到这一点:ALTERTABLE`users`ADDINDEX(email(50))但是,这会创建2个索引,一个名为email,另一个名为email_2。第一个索引没有长度限制,第二个索引有50个字符的限制。这是为什么?是否有任何解决方法,或者我别无选择,只能索引整个列? 最佳答案 为什么只索引前50个字符?MySQL将足够聪明,只将索引中

mysql varchar字节长度255问题

根据mysql文档:Acolumnusesonelengthbyteifvaluesrequirenomorethan255bytes,twolengthbytesifvaluesmayrequiremorethan255bytes和Themaximumrowsizeconstrainsthenumberofcolumnsbecausethetotalwidthofallcolumnscannotexceedthissize.Forexample,utf8charactersrequireuptothreebytespercharacter,soforaCHAR(255)CHARACT

python - 如何使用 Python pypyodbc 获取整个 VARCHAR(MAX) 列

我有一个Python程序,它使用ODBC连接来连接到MSSQL数据库。我使用的Python库是pypyodbc。这是我的设置:Windows8.1x64SQLServer2014x64python2.7.9150PyPyODBC1.3.3ODBC驱动程序:SQLServerNativeClient11.0我遇到的问题是,当我查询一个包含varchar(max)列的表时,内容被截断了。我是pypyodbc的新手,我一直在疯狂地搜索,但找不到任何关于如何防止这种情况在pypyodbc甚至pyodbc中发生的信息。至少不是我一直在使用的搜索词,而且我不知道要尝试使用哪些其他短语。我什至尝试将

c# - 在 SQLite 中将 "String"存储为 "TEXT"而不是 "VarChar"- WP8

我正在使用SQLite将我的数据存储在本地数据库中。我已经输入了几个要存储的变量。现在,当我存储该字符串变量时,它被存储为“VARCHAR”(如下图所示)。Picture1但我想在SQLite中将这些字符串存储为“TEXT”类型。(如下图)Picture2我用来存储数据库的类如下:publicclassabc{[SQLite.AutoIncrement,SQLite.PrimaryKey]publicint_id{get;set;}publicstringa{get;set;}publicstringb{get;set;}publicstringc{get;set;}publicstr

android - 如何将双引号 (") 插入 SQLite 数据库 Varchar 字段?

我正在尝试将此字段TITLEvarchar(200)NOTNULL插入到表中下一句:INSERTORIGNOREINTOEXAMPLETABLEVALUES("1-Preludi\"ObrintPas2011\"",...问题是SQLite误解了\"escapecharacter,我不知道如何在我的Android程序中解决这个问题(也许是字符代码?)。 最佳答案 只是在命令行中使用sqlite和直接sql插入命令,我发现双引号会自行转义。以你的例子INSERTORIGNOREINTOEXAMPLETABLEVALUES("1-Pre

sql - 在 SQL 中使用 [a-9] 而不是 [0-Z] 的 ORDER BY varchar

默认情况下,SQL在字符之前排列数字。所以如果我有“名称”列:abcab1a1b1ba1bacb21由于SQL按0-Z排序(首先是0到9,然后是a-Z),因此查询SELECT*FROM...ORDERBYname将导致:1ba1baca1bab1abcabc1b21但我希望它按a-0排序(首先是a-Z,然后是0-9)。abcabc1ab1a1bb211ba1bac如何在查询中执行此操作?更具体地说,我如何在SQLite中执行此操作?我在SortMySQLresultsalphabetically,butwithnumberslast中找到了一个解决方案,但仅限于第一个字符。

c# - 如何使用 ASP.net EF Codefirst 数据注释将 SQL Server 中的列设置为 varchar(max)?

我一直在网上搜索,试图找出正确的语法,让EntityFrameworkCodeFirst创建我的表,其中有一列:varchar(max)。这是我的。默认情况下,这会创建varchar(128)。如何创建varchar(max)?我试过[MaxLength]但没有成功。如有任何帮助,我们将不胜感激。谢谢![Column(TypeName="varchar")]publicstringMediaDesc{get;set;} 最佳答案 [Column(TypeName="varchar(MAX)")]令人惊讶的是,最明显的解决方案有效。[

c# - 您在参数声明中使用的 varchar(MAX) 大小是多少?

我通常在ADO.NET中创建参数时设置列大小。但是,如果列的类型为VARCHAR(MAX),我应该使用什么大小?cmd.Parameters.Add("@blah",SqlDbType.VarChar,?????).Value=blah; 最佳答案 在这种情况下,您使用-1。 关于c#-您在参数声明中使用的varchar(MAX)大小是多少?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest