由于,我从LINQ到SQL再到ADO.NET (使用MSSQL),但我在使用ADO.NET时也遇到了一个奇怪的问题。
我使用excel interop从excel工作表导入数据,并将其内容放入数据库。我修剪了插入的所有内容,所以这不是(应该是)问题的根源。
当我使用DataGridView查看表格的内容时,我看到每个单元格在其包含的文本之后都有大量的空格。下面是截图。
我用谷歌找到了一个解决方案,但我找到的唯一有用的结果是
SET ANSI_PADDING OFF
GO
我这样做了(所以我在开始导入之前将ANSI_PADDING设置为关闭,并在导入完成后将其重新设置为启用),但没有任何变化。
我已经创建了一个带有索引的varchar2列的Oracle表,名为'ID‘。
我正在使用的一个软件正在读取这个表,而不是运行如下查询
select * from table_name where ID='something'
确实如此(请注意值前的额外"N“)
select * from table_name where ID=N'something'
这导致了某种类型的字符转换。
问题是,当第一个查询执行范围扫描时,第二个查询执行全表扫描。
由于我不能修改该软件正在运行的查询,我应该使用哪种数据类型而不是varchar2,以便由'N‘函
我们有个奇怪的问题。我们正在升级JDE,数据库模式正在改变--一些char列正在更改为nchar类型。但是,我们发现有些搜索不再有效,我们发现在Server 2008数据库中这是一致的:
在我测试的DB中,ItemNumber列是char(25),具有不同的长度内容。
SELECT * FROM TableName WHERE ItemNumber LIKE '%S'
返回一堆行。但是,如果我们将该列更改为nchar( 25 ),则该查询现在只返回以"S“结尾且有25个字符长的ItemNumber值的行,因此似乎现在(可能是正确的)考虑到了尾随空格--如果将通配符值更改
在SQL Server中运行它时,我看到数据类型为nvarchar(max)的表字段/列的CHARACTER_MAXIMUM_LENGTH列中定义了-1。如果没有定义长度,我可以假设它总是设置为-1吗?
SELECT COLUMN_NAME,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLE,ORDINAL_POSITION
FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE 'Ancestor_C%'
当我试图将抓取的结果插入到SQL SERVER中时,我有什么想法吗?为什么我要得到“System.Data.SqlClient.SqlException类型的未处理异常”?
这是我正在使用的代码:
public void scrape(string URL)
{
using (SqlConnection opencon = new SqlConnection("CONNECTION STRING"))
{
string saveStaff = "INSERT into Principale ((Name) VALUES (@Name)
我的雇主有一个第三方应用程序,它有一组非常复杂的间接命名的视图。我正在尝试查找包含在应用程序UI中输入的特定数据的视图。 我有SQL来构建一个包含所有视图名称和列名的CTE ... 我不明白的是,如何测试每个视图中的每一列(可以包含一个字符串值),以获取特定的字符串值。 这是我做的开始,虽然不起作用,但会说明我想要做的事情。请注意,它还缺少对列的约束,以根据可以保存字符串值的内容进行检查。 下面代码的另一个明显问题是,我希望计算列的值,而不是列名称的值。 WITH ViewColumn_CTE (ViewName, ColumnName) AS
(
SELECT TOP 100
考虑下表,其中一列为可空NVARCHAR类型
CREATE TABLE CHARACTER_SET_MISMATCH_TEST (
ID NUMBER(10) NOT NULL,
VALUE NVARCHAR2(32)
);
现在,我希望使用多行INSERT (带有子查询)语法将多个数据元组插入到这个表中:
INSERT
INTO CHARACTER_SET_MISMATCH_TEST (ID, VALUE)
SELECT ?, ? FROM DUAL
UNION ALL
SELECT ?, ? FROM DUAL;
如果NVARCHAR值都是N
我有一些内容已经导入到我们的SQL Server2008数据库中(使用排序规则SQL_Latin1_General_CP1_CI_AS),这些内容在nvarchar(128)列中被UNICODE NULLS污染。
其影响是,当我们的java库试图导出PDF报告中的内容和其他类似操作时,它会炸毁这些库。
我正在尝试查找和修改各个表和列中的值。我们的一些员工告诉我,令人不快的值看起来像'u s e r n a m e'而不是'username'。
在尝试查找这些令人不快的UNICODE NULLS时,我运行了以下SQL:
SELECT name
FROM user
我目前面临的问题是,在执行实体框架生成的查询时会出现异常。
在我使用.include()将另一个表加入到现有实体之前,查询一直在工作。现在,每当我执行查询时,我都会得到一个Oracle ORA-12704 character set mismatch。
我把问题缩小到以下几个方面:
在加入表之前,生成的SQL是一个带有一些join语句的简单查询。在加入另一个表之后,生成的SQL包含两个使用UNION ALL组合的子查询。在其中一个子查询中,选择了许多帮助器列。
它们看起来是这样的:
SELECT
... some other columns...
TO_NUMBER(NULL
我正在尝试创建一个基本的存储过程,如下所示:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spUpdate1]
@registration_id NCHAR(8),
@registration_status INT
AS
BEGIN
UPDATE dbo.Test1
SET Registration_Status = @registration_status
WHERE Registration_id = @registration_id;
END
这个
下面的语句返回所有可以是字符串值的字段名称。我现在需要将每个字段的数据更改为大写。
select column_name from information_schema.columns
where data_type in ('char', 'nchar', 'varchar', 'nvarchar') AND table_name = 'plats';
下面是update语句。
Update Plats
set col1 = UPPER(col1)
如何让col1成为第一条语句中的列表,这样它就可以一次运行所有