
将int转换为varchar
我在下面的查询中,需要转换id为varcharcreate table t9 (id int, name varchar (55));insert into t9( id, name)values(2, 'bob');select CAST(id as VARCHAR(50)) as col1 from t9;select CONVERT(VARCHAR(50),id) as colI1 from t9;但它们不起作用。请提出建议。回答:您将需要cast或convert作为CHAR数据类型,没有varcha...
2024-01-10
按日期排序(varchar)?
我想按日期订购。例如table_dateFebruary 2011January 2011December 2010我已经尝试过:SELECT distinct(table_date) FROM tables ORDER BY table_date DESC伯,这是行不通的。我得到这个代替:January 2011February 2011December 2010你能帮我吗?回答:如果要按日期排序, 请将其存储为日期而不是字符串。 除非您的日期字符串...
2024-01-10
varchar(0)的用途是什么
我最近遇到了一个由于数据库创建脚本中的输入错误而导致的问题,即在数据库中创建了varchar(0)而不是的列varchar(20)。我以为0长度字符串字段会出错,但是我没有。无论如何,varchar(0)或者char(0)我将无法在此列中存储任何数据的目的是什么。回答:根据SQL-92标准不允许,但在MySQL中允许。从MySQL手册:...
2024-01-10
在Java中获取char值
如何在Java中获取char的UTF8代码?我有char’a’,我想要值97我有char’é’,我想要值233这是更多值的表格我试过了,Character.getNumericValue(a)但结果却是10分而不是97分,为什么?这似乎很基本,但是任何帮助将不胜感激!回答:char实际上是包含该字符的unicode值(准确地说是UTF-16-您需要 两个 chars来表示...
2024-01-10
MySQL varchar索引长度
我有一张这样的桌子:CREATE TABLE `products` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(512) NOT NULL, `description` text, PRIMARY KEY (`id`),) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8;和这样的一个:CREATE TABLE `product_variants` ( `id...
2024-01-10
MySQL将varchar转换为日期
我需要将1/9/2011的varchar值转换为mySQL中的日期,并且只需要月份和年份。这样我就可以使用该PERIOD_DIFF功能(因此,我需要将以上内容转换为201101)。我已经尝试过使用STR_TO_DATE函数的各种方式:SELECT STR_TO_DATE(CYOApp_oilChangedDate, '%m/%Y') FROM CYO_AppInfo但是我得到了奇怪的结果…(例如:2009-01-00)我做错了...
2024-01-10
在Java中按char拆分字符串
我从网上得到一个字符串,看起来像这样:Latest Episode@04x22^Killing Your Number^May/15/2009然后,我需要将04x22,Killing Your Number和存储May/15/2009在不同的变量中,但是它将不起作用。String[] all = inputLine.split("@");String[] need = all[1].split("^");show.setNextNr(need[0]);show.setNextTitle(need[1]);s...
2024-01-10
SQL唯一varchar区分大小写的问题
我正在尝试用单词列表填充SQL表。该表本身非常简单:CREATE TABLE WORDS( ID BIGINT AUTO_INCREMENT, WORD VARCHAR(128) NOT NULL UNIQUE, PRIMARY KEY(ID));我遇到的问题是这样的:当我执行以下操作时,会背对背插入INSERT INTO WORDS(WORD) VALUES('Seth');INSERT INTO WORDS(WORD) VALUES('seth');第二个插入因约束冲突而失败(“键’WORD...
2024-01-10
MySQL表中varchar长度的重要性
我有一个MySQL表,其中动态插入行。因为我无法确定字符串的长度并且不希望它们被截断,所以我将它们设置为varchar(200),它通常比我需要的大得多。给varchar字段提供比所需长度更长的长度是否会对性能产生重大影响?回答:不,在某种意义上说,如果您存储在该列中的值始终(例如)少于50个字...
2024-01-10
Varchar的索引会影响性能吗?
varchar列上的索引是否会使查询运行缓慢?我可以将其设为int。而且我不需要做LIKE%比较。回答:varchar列上的索引是否会使查询运行缓慢?不,不是的。如果优化器决定使用索引,则查询将运行得更快。 该表上的INSERTs / UPDATEs / DELETEs会变慢,但不太可能引起注意。我不需要做LIKE%比较请注意,...
2024-01-10
MySQL的最佳varchar大小是多少?
MySQL如何存储varchar字段?我可以假设以下模式代表合理的存储大小:1,2,4,8,16,32,64,128,255(最大)通过示例进行说明。可以说我有20个字符的varchar字段。MySQL在创建此字段时是否基本上保留32个字节的空间(不确定是否为字节),但只允许输入20个字节?我想我担心优化大型表的磁盘空间。回答:为了...
2024-01-10
SSIS包(DW,基准)转化为varchar
我使用SQL Server SSIS将数据移入一个DW,并具有以下SQL填充一个维度SSIS包(DW,基准)转化为varcharSELECT DISTINCT cast (datename(dw,datum) as varchar(10)) as veckodag FROM XXXXX.dbo.Bought 正如我在有VARCHAR目标列我需要CAST/CONVERT问题如何将Unicode转换为Varchar?我得到*>验证错误。基准OLE DB源[1]:列 “veckodag” 不能转换u...
2024-01-10
MySQL太长的varchar截断/错误设置
我有两个MySQL实例。当数据太长时,第一个会在插入时截断字符串。第二个引发错误:ERROR 1406 (22001): Data too long for column 'xxx' at row 1我希望第二个也截断数据。是否有任何MySQL设置来管理此行为?回答:您可以禁用STRICT_TRANS_TABLES和STRICT_ALL_TABLES。这样可以自动截断插入的字符串。引用来自MySQL Documantati...
2024-01-10
在Java中递增Char类型
在练习Java时,我随机想到了这一点:class test{ public static void main(String arg[]) { char x='A'; x=x+1; System.out.println(x); }}我以为会抛出错误,因为我们无法将数值添加1到A数学中的字母上,但是以下程序可以正确运行并打印B那怎么可能?回答:在Java中,char是数字类型。当添加1...
2024-01-10
等价于MySQL中的varchar(max)?
MySQL中的varchar(max)等价于什么?回答:varchar的最大长度取决于MySQL中的最大行大小,即64KB(不包括BLOB):VARCHAR(65535)但是,请注意,如果使用多字节字符集,则限制会更低:VARCHAR(21844) CHARACTER SET utf8这里有些例子:最大行大小为65535,但是varchar还包括一个或两个字节来编码给定字符串的长度...
2024-01-10
用Java中的char索引进行数组访问
在网上看到有关Java编程练习的解释时,我遇到了以下代码:int[] count = new int[128];int length = 0;for(char c: s.toCharArray()){ if(++count[c] == 2){ length += 2; count[c] = 0; }}我了解代码的功能,但是我不知道它如何使用char索引(即count [c],其中c是char)访问数组元素。我以为索引只能是整数?回答:...
2024-01-10
Java从字符串中删除所有出现的char
我可以用这个:String str = "TextX Xto modifyX";str = str.replace('X','');//that does not work because there is no such character ''有没有办法X从Java中的字符串中删除所有出现的字符?我尝试了这个,不是我想要的: str.replace('X',' '); //replace with space回答:尝试使用需要CharSequence参数(例如String)而不是的重载char:str ...
2024-01-10
为什么Java char使用UTF-16?
最近,我阅读了很多有关Unicode代码点的信息,以及它们随着时间的演变,并确保我也阅读了http://www.joelonsoftware.com/articles/Unicode.html。但是我找不到真正的原因是Java为什么将UTF-16用作字符。例如,如果我的字符串包含1024个ASCII范围的字母。这意味着1024 * 2 bytes等于2KB的字符串内存,它将以任何方式消耗...
2024-01-10
Java为什么要求char变量使用单引号?
为什么Java要求char变量用单引号而不是双引号将其中的任何内容括起来?一个例子:char s = 's'; //This will not breakvs:char s = "s"; //This will break我知道双引号主要用于字符串,但是是否有特定原因说明为什么将chars构造为仅使用单引号并在输入双引号时中断?我已经尝试进行一些研究,但是唯一相关的是...
2024-01-10
Java-如何计算字符串中char出现的次数?
我有stringa.b.c.d我想用惯用的方式计算“.”的出现次数,最好是一行。 之前我曾将这个约束表示为“没有循环”,以防你想知道为什么每个人都试图在不使用循环的情况下回答问题)。 回答:我对此的“惯用一语”是:int count = StringUtils.countMatches("a.b.c.d", ".");当它已经成为公共语言时,...
2024-01-10
JPA-如何在DDL中将字符串列设置为varchar(max)
使用JPA,可以为属性生成DDL:@Columnfinal String someString;将会 someString varchar(255) null@Column(length = 1337)final String someString;会屈服someString varchar(1337) null。但是我怎样才能生产它someString varchar(max) null呢?是否可以使用length-attribute,还是我需要使用columnDefinition-attribute?回...
2024-01-10
Java:将字符串“ \ uFFFF”转换为char
是否存在将“ \ uFFFF”之类的字符串转换为字符的标准方法,即六个字符的字符串包含一个Unicode字符的表示形式?回答:char c = "\uFFFF".toCharArray()[0];该值直接解释为所需的字符串,整个序列实现为单个字符。换句话说,如果要对值进行硬编码:char c = '\uFFFF';请注意,这\uFFFF似乎不是适当的Unicode字...
2024-01-10
对所有基于文本的字段使用通用varchar(255)有不利之处吗?
我有一个contacts包含字段,如表postcode,first name,lastname,town,country,phonenumber等等,所有这些都被定义为VARCHAR(255)即使没有这些领域都不会接近有255个字符。(如果您想知道,那就是这种方式,因为Rubyon Rails迁移VARCHAR(255)默认将String字段映射到String字段,而我从不费心重写它)。由于VARCHAR将仅存储...
2024-01-10
MySQL中的主键:INT(n)或UUID为varchar(36)
在MySQL中使用UUID作为主键有意义吗?除了手动查询的麻烦之外,使用UUID代替常规INT的利弊是什么?回答:UUID的主要缺点是,如果您想在以后引用该记录以供进一步使用,则必须事先创建它们(即:在相关的外键表中添加子记录):INSERT INTO table (uuidfield, someotherfield) VALUES (uuid(), 'test'));不会让您看到...
2024-01-10
Java如何以其16位char类型存储UTF-16字符?
根据Java SE7规范,Java使用UnicodeUTF-16标准表示字符。将a想象String成一个 简单 的16位变量 数组 ,每个 数组 包含一个字符时,生活很简单。不幸的是,对于某些代码点来说,仅16位是不够的(我相信这是所有Unicode字符的16/17)。因此在a中String,这没有直接问题,因为当要使用另外两个字节 存储〜1.048.5...
2024-01-10
