我有一个有价值的字符串
'MAX DATE QUERY: SELECT iso_timestamp(MAX(time_stamp)) AS MAXTIME FROM observation WHERE offering_id = 'HOBART''
但在插入postgresql表时我收到错误:
org.postgresql.util.PSQLException:错误:"HOBART"处或附近的语法错误.
这可能是因为我的字符串包含单引号.我不知道我的字符串值.每次它不断变化,并且可能包含特殊字符,例如\或者某些东西,因为我正在从文件中读取并保存到postgres数据库中.
请提供一般解决方案来逃避这些角色.
在SQL Server中是否有任何方法可以确定代码页中的字符代表什么,而无需实际创建该排序规则的测试数据库?
例.如果我使用排序规则创建测试数据库,SQL_Ukrainian_CP1251_CS_AS然后CHAR(255)返回?.
但是,如果我在具有SQL_Latin1_General_CP1_CS_AS排序规则的数据库上尝试以下操作
SELECT CHAR(255) COLLATE SQL_Ukrainian_CP1251_CS_AS
Run Code Online (Sandbox Code Playgroud)
它回来了 y
SELECT CHAR(255)
Run Code Online (Sandbox Code Playgroud)
返回ÿ所以它显然首先通过数据库的默认排序规则然后尝试找到与显式排序规则中最接近的等效项.这可以避免吗?
我在我正在处理的项目中遇到了一个问题:特定SQL Server 2008表列中的某些字符串值包含Unicode字符.例如,代替短划线,某些字符串将包含EM DASH(http://www.fileformat.info/info/unicode/char/2014/index.htm).
当我向第三方服务器发送HTTP请求时,包含Unicode字符的列值会导致问题.有没有办法查询哪些行包含一个或多个Unicode字符,所以我至少可以开始确定需要修复多少行?
我想在SQL Server2012中创建一个表,其列名包括括号as
create table temp_sp
(
logtime datetime,
vcs_api varchar,
L3(S1)Status varchar,
L3(S2)Status varchar,
beam_current real,
beam_energy real,
st1_vs1_bag1_rb real,
ring_avg_pressure real
)
Run Code Online (Sandbox Code Playgroud)
但是当我使用括号时L3(S1)Status,L3(S2)Status我得到一个错误
'('.'''''''或'''附近的语法不正确.**
怎么解决?
我想在我的sql server db中存储一个balkan姓氏,但是当我尝试使用以下SQL更新记录时:
update User_Data
set name = 'Kramari?'
where User_PKID= 3047
Run Code Online (Sandbox Code Playgroud)
但是当我用以下方法查询数据库时:
select name from User_Data where User_PKID = 3047
Run Code Online (Sandbox Code Playgroud)
它返回:
Kramaric
Run Code Online (Sandbox Code Playgroud)
关于如何让它以原始形式存储它的任何想法.我需要它,因为我在我的服务器代码上对来自网站的数据进行字符串比较,如果'ć'不相同则失败.
sql-server ×3
sql ×2
t-sql ×2
collation ×1
columnname ×1
parentheses ×1
postgresql ×1
unicode ×1