我正在尝试将SQL Server 2012 中的数据库列转换DATA为。varbinary()varchar(max)
我正在使用此代码来处理转换:
\n\nSELECT CONVERT(VARCHAR(MAX), DATA) FROM [dbo].[TABLE_NAME]\nRun Code Online (Sandbox Code Playgroud)\n\n结果行如下:
\n\nVW 6501 \xc3\x83\xe2\x80\xa1ama\xc3\x85\xc5\xb8\xc3\x84\xc2\xb1r\nRun Code Online (Sandbox Code Playgroud)\n\n我在处理语言特定字符时遇到问题(目前我的情况是土耳其语)
\n\n如何解决 SQL Server 2012 中的此编码问题?
\n\n考虑到任何给定语言的数据丢失/编码问题,是否有一种通用方法可以对任何语言进行这种转换?
\n\n这可能听起来像是一个新手问题,但我真的很感激任何建议或答案。
\n\n谢谢你,
\n当我将数字数据简单地插入 varchar 字段时,我不太明白为什么它用 2 个空格左填充它。varchar 不应该修剪空格(尾随确定......但是你用空格“frontpad”的规则在哪里)。为什么然后用 2 个前导空格填充
INSERT INTO v VALUES ( ,1243444,3455435,8768810,'fdff',5,7,8,,)
Run Code Online (Sandbox Code Playgroud)
这里( ,1243444,3455435,8768810,'fdff',5,7,8,,)有(someirrelvant_datatype,varchar(x),varchar(y),varchar(z),char(5),smallint,int,int,Timestamp)
所以数据看起来像这样
SEL CHAR2HEXINT ( colA ) ,colA FROM v
313732353732 172572 /* this is some other pre-existing value*/
2020202033343535343335 3455435 /* this is value just inserted */
Run Code Online (Sandbox Code Playgroud)
所以如果你看到上面的20202020十六进制2 spaces aka ' '
第二个问题(不是上述情况的延续)
我还有像这样的 varchar (50) col 的数据
HMSA
232434343
HMSA
4343434343
434343434
Run Code Online (Sandbox Code Playgroud)
这里 theHMSA有一个尾随空格,2020 HEX但其他值没有trailing spaces。不知道发生了什么。现在这里不varchar应该扔掉所有尾随空格吗?数据如何以HMSA<space>
不确定的方式登陆 。有任何想法吗 …
我需要将二进制输出更改为 varchar(string),但它必须与二进制输出相同。但是在将 binary(hex) 值转换为 varchar 时,将返回空集。请帮助我。
前任
如果这是我的二进制值0x24000000008B0100000000。
0x24000000008B0100000000将其转换为字符串后,我需要相同的输出。
PostgreSQL中可排序的datetime / timestamp varchar等效于什么?
Console.WriteLine("{0:s}", DateTime.Now);
Run Code Online (Sandbox Code Playgroud)
样本格式输出:
2000-05-04T15:30:59
Run Code Online (Sandbox Code Playgroud)
这可以工作,现在选择SELECT :: varchar,输出为'2009-03-25',但仅适用于日期类型,想知道时间戳等效于什么。
注意,我知道日期本身是可排序的,我只是遇到.NET和Mono之间的DateTime不兼容,所以我只是将日期/时间戳类型作为varchar传输(远程),底层数据库类型仍然是正确的日期/时间戳字段类型。对于那些遇到相同问题的人,解决方法是在检索数据时将日期转换为varchar,并在保存时将varchar转换为最新。
我有一个使用代码的数据库.每个代码的长度可以是两个字符到十个字符.
在MS SQL Server中,使用char(10)这些代码和RTRIM它们的性能是否更好,或者我应该使用varchar(10)而不必担心修剪额外的空白?我需要摆脱空白,因为代码将在应用程序逻辑中用于比较,而不是.
至于平均代码长度,很难说清楚.假设所有代码都是1到10之间的随机长度.编辑:对于代码的平均长度,粗略估计约为4.7个字符.
我有一个名为的专栏 D1_VAL
此列中的行包含如下所示的数据:
C:10
R:200
E:3
N:77
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用逻辑运算符搜索这些值.我试过这个:
SELECT * FROM d1 WHERE CAST(`D1_VAL` AS UNSIGNED) > 5
Run Code Online (Sandbox Code Playgroud)
它不会返回任何行.我也尝试过:
SELECT * FROM d1 WHERE (0 + `D1_VAL`) > 5
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我必须将我的类定义映射到现有数据库,其中日期字段存储为varchar.
例如
class A {
@Column
Date birth;
}
Run Code Online (Sandbox Code Playgroud)
如何对出生属性进行注释,以便将其正确映射到数据库varchar?
谢谢!
我有一个Oracle列END_DATE,这是一个varchar2(256).我需要比较那个值,SYSDATE但我一直在收到错误.
END_DATE |SYSDATE
----------------|-------
06/30/2016 00:00|29-FEB-16
Run Code Online (Sandbox Code Playgroud)
这就是我尝试过的:
u.END_DATE > SYSDATE ---> ORA-01843: not a valid month
TO_DATE(u.END_DATE, 'DD-MM-YY') > SYSDATE ----> ORA-01843: not a valid month
TO_DATE(u.END_DATE, 'MM/DD/YYYY HH:MM') > SYSDATE ----> ORA-01810: format code appears twice
Run Code Online (Sandbox Code Playgroud)
有什么我想念的吗?
我需要编写一个函数来检查varchar变量值是否全为零.
由于变量是varchar而不是int,我有点迷失.你会怎么做?
非常感谢
在第一个空格之后切断varchar的最有效方法是什么'FIRST_STRING SECOND_STRING THIRD_STRING',它应该返回'FIRST_STRING'?这将在数千行的潜在数量上运行.