楼上的同志们,你们起哄呀都一个答案,我怎么弄出来是错的?insert into Table1(col) values('N'@Text)Error 170: incorrect syntax near @Text
-- ========================================= -- -----------t_mac 小编------------- ---希望有天成为大虾---- -- =========================================IF OBJECT_ID('tb') IS NOT NULL DROP TABLE tb GO CREATE TABLE tb(col nvarchar(100)) go declare @text nvarchar(100) set @text=N'你好' insert into TB(col) values(@Text) select * from tb go /*------------ col ---------------------------------------------------------------------------------------------------- 你好 -------*/
insert into Table1(col) values('N'@Text)
-- =========================================
-- -----------t_mac 小编-------------
---希望有天成为大虾----
-- =========================================IF OBJECT_ID('tb') IS NOT NULL
DROP TABLE tb
GO
CREATE TABLE tb(col nvarchar(100))
go
declare @text nvarchar(100)
set @text=N'你好'
insert into TB(col) values(@Text)
select * from tb
go
/*------------
col
----------------------------------------------------------------------------------------------------
你好
-------*/
定义@TEXT的变量时候的 时候 就要在NVARCHAR 类型后面加N'你好'
我是通过 C# 调用这个存储过程的:cmd.Parameters.Add("@Text", nvarchar, 20, "你好");而不是在 SQL 内。
另外我再补充一下啊……存在英文版 SQL SERVER 表内的“你好”只不过是看不到,并非不能正常读取,用其他中文版程序读取表内数据时,还是正常的中文。存储在表内的每一个中文字符,都用一个“口”占位了好像。
(
@Text NVARCHAR(20)
)
--try:
INSERT INTO Table1(col) select cast(@Text as nvarchar(20))
我觉得你也可以试试回话环境的选择
--设置会话的语言环境为: 简体中文
SET LANGUAGE N'简体中文'
SELECT
DATENAME(Month,GETDATE()) AS [Month],
DATENAME(Weekday,GETDATE()) AS [Weekday],
CONVERT(varchar,GETDATE(),109) AS [CONVERT]
/*--结果
Month Weekday CONVERT
------------- --------------- -----------------------------------------
05 星期四 05 19 2005 2:49:20:607PM
--*/
不过,在web服务器上读取的话,是米有问题的!