将多语言数据插入SQL 2008数据库(nvarchar字段)我注意到它似乎丢失了一些特殊的字符标记.
例如
INSERT INTO [dbName].[dbo].[tbl_Question_i18n]
([QuestionId]
,[LanguageId]
,[QuestionText])
VALUES
(@lastinsertedquestionid
,@romanian
,'Num?r unic de referin?? (URN)')
Run Code Online (Sandbox Code Playgroud)
插入为'Numar unic de referinta(URN)'
虽然如果我"编辑前200行",我可以将相同的文本直接粘贴到该字段中,没有任何问题.
我错过了什么?
亲爱的朋友们,我面临着一个从未想过的问题。我的问题似乎太简单了,但是我找不到解决方案。我有一个类型为NVarchar的sql server数据库列,并用标准的波斯字符填充。当我尝试在其上运行包含LIKE运算符的非常简单的查询时,尽管我知道表中存在查询词,但结果集为空。这是一个非常简单的示例查询,它不能起到核心作用:SELECT * FROM T_Contacts WHERE C_ContactName LIKE'%?%'
?是波斯字符,ContactName列包含多个包含该字符的条目。
请告诉我如何重写表达式或应应用哪些更改。请注意,我数据库的排序规则是SQL_Latin1_General_CP1_CI_AS。
非常感谢你
我正在构建一个网站,其中可能包含客户端未指定的 unicode 字符,我想使用 nvarchar 作为 sql 服务器上的数据类型。使用 nvarchar 相对于 varchar 有什么缺点吗?
如果 nvarchar 可以容纳比 varchar 更多的字符,为什么有人会想使用 varchar 而不是 nvarchar。使用 nvarchar 的唯一缺点是 nvarchar 中的数据比 varchar 中的数据更大吗?
另外,Nvarchar 还可以存储 varchar 存储的所有字符吗?
我有2台服务器,有两种不同的登录日期格式(English&British English).
CAST无论日期格式如何,我都需要能够将nvarchar值设置为datetime.
我有以下查询:
select cast('2011-13-07' as datetime)
Run Code Online (Sandbox Code Playgroud)
这适用于1台服务器,但不适用于其他服务器.
我可以用另一种方式表示两个服务器13/7/2011的datetime对象吗?
为保持一致性,两个服务器上的查询需要相同.
目前正在解决运行此SQL查询的问题:
UPDATE tblBenchmarkData
SET OriginalValue = DataValue, OriginalUnitID = DataUnitID,
DataValue = CAST(DataValue AS float) * 1.335
WHERE
FieldDataSetID = '6956beeb-a1e7-47f2-96db-0044746ad6d5'
AND ZEGCodeID IN
(SELECT ZEGCodeID FROM tblZEGCode
WHERE(ZEGCode = 'C004') OR
(LEFT(ZEGParentCode, 4) = 'C004'))
Run Code Online (Sandbox Code Playgroud)
导致以下错误:
消息8114,级别16,状态5,行1
错误将数据类型nvarchar转换为float.
真奇怪的是,如果我更改UPDATEto SELECT来检查检索的值是数值:
SELECT DataValue
FROM tblBenchmarkData
WHERE FieldDataSetID = '6956beeb-a1e7-47f2-96db-0044746ad6d5'
AND ZEGCodeID IN
(SELECT ZEGCodeID
FROM tblZEGCode WHERE(ZEGCode = 'C004') OR
(LEFT(ZEGParentCode, 4) = 'C004'))
Run Code Online (Sandbox Code Playgroud)
结果如下:
DataValue
2285260
1205310
Run Code Online (Sandbox Code Playgroud)
想要使用TRY_PARSE或类似的东西; 但是,我们运行SQL Server 2008而不是SQL Server 2012.有没有人有任何建议?TIA.
我正在处理的项目具有以下设置:JPA 2.0(Hibernate 4 实现)和 SQL Server 2008 R2。
我需要从 SQL 视图中选择一些数据。为了做到这一点,我使用了本机查询,但我遇到了 NVARCHAR 字段的一些问题。基本上,当使用这段代码时:
String sql = "SELECT v.text_field as address FROM SOME_CUSTOM_VIEW v
Query q = entityManager.createNativeQuery(sql,"ItemDetailsMapping");
List<Object[]> result = q.getResultList();
Run Code Online (Sandbox Code Playgroud)
ItemDetailsMapping 声明如下:
@SqlResultSetMapping(name = "ItemDetailsMapping", columns = { @ColumnResult(name = "address") })
Run Code Online (Sandbox Code Playgroud)
我得到一个例外:
org.springframework.orm.hibernate3.HibernateSystemException: No Dialect mapping for JDBC type: -9; nested exception is org.hibernate.MappingException: No Dialect mapping for JDBC type: -9
Run Code Online (Sandbox Code Playgroud)
类型 -9 实际上是 NVARCHAR 类型,我们在整个应用程序中广泛使用它,当我们使用非本机查询时它可以完美地工作。为什么它不能与本机查询一起使用?我什至使用了自定义方言并注册了类型,但它仍然无法正常工作。
非常感谢你的帮助
如果我声明一个列nvarchar(max),我明白这将分配2Gb的空间,但是一旦我将更改保存到表中,它是否会立即占用2Gb的磁盘空间?或者,是否注意到此列将允许在列中填充2Gb数据?
我有一个简单的表:
File: path | deleted | categories | description
我想将该表用于 Linq to SQL 实体模型。在模型上,该列path(nvarchar数据库中的字符串)可以设置为主键,但 Visual Studio 表设计器不是这种情况。
路径是使一个文件独一无二的原因,因此我必须确保表中没有重复的路径。如何做到这一点?谢谢你的时间。
我通过运行此查询来备份所有视图,并将结果存储在表中:
select
TABLE_CATALOG as DBName
, TABLE_NAME as ViewName
, VIEW_DEFINITION as ViewDef
, datalength(VIEW_DEFINITION) as [Length]
, GETDATE() as ImportDate
from INFORMATION_SCHEMA.VIEWS
order by DBName, ViewName
Run Code Online (Sandbox Code Playgroud)
但 VIEW_DEFINITION 列的数据类型设置为 nvarchar(4000) 并且我的一些视图比这长得多 - 因此它们被截断。
我可以以某种方式将 VIEW_DEFINITION 列的数据类型更改为 varchar(max) 吗?
我正在使用 Laravel 5.7 和 SQL Server 2017,我想生成一个varchar(50)名为name.
执行此代码给了我一个nvarchar(50):
Schema::create('test', function(Blueprint $table) {
$table->string('name', 50);
});
Run Code Online (Sandbox Code Playgroud)
如何区分创建varchar或nvarchar字段?
nvarchar laravel laravel-migrations laravel-schema-builder laravel-5.7
nvarchar ×10
sql-server ×6
casting ×2
sql ×2
t-sql ×2
unicode ×2
collation ×1
datetime ×1
diskspace ×1
encoding ×1
hibernate ×1
java ×1
jpa-2.0 ×1
laravel ×1
laravel-5.7 ×1
linq-to-sql ×1
select ×1
system-views ×1
unique ×1
varchar ×1