PDO没有读取MSSQL Server的nvarchar datatye

时间:2015-04-16 12:34:17

标签: php sql-server pdo nvarchar

我在MSSQL Server 2012中有一个表,其中一列的数据类型定义如下:

COLUMN_NAME   DATA_TYPE   TYPE_NAME   COLUMN_SIZE
description   2005        nvarchar    1073741823

当我运行此查询时:

select * from tablename

使用PHP PDO然后我没有得到任何结果。如果我在上面的sql select查询中写下所有字段的名称,不包括这个字段,那么我得到了结果。

此数据类型有什么问题?

注意:使用某种工具直接从MySQL导入此表。

我搜索了很多但无法得到任何解决方案。

1 个答案:

答案 0 :(得分:3)

此网站上的解决方案似乎与http://eugenioz.blogspot.com/2013/07/php-mssql-nvarchar-fetch-and-write-utf.html相关。

如果该网站删除帖子或关闭,解决方案是将nvarchar转换为varchar。

SELECT CAST(CAST([field] AS VARCHAR(8000)) AS TEXT) AS field FROM table

对于插入,它显示为

INSERT INTO some_table (some_nvarchar_field)  VALUES(CONVERT(nvarchar(MAX), 0x'.$value.'))