我在MSSQL Server 2012中有一个表,其中一列的数据类型定义如下:
COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE
description 2005 nvarchar 1073741823
当我运行此查询时:
select * from tablename
使用PHP PDO然后我没有得到任何结果。如果我在上面的sql select查询中写下所有字段的名称,不包括这个字段,那么我得到了结果。
此数据类型有什么问题?
注意:使用某种工具直接从MySQL导入此表。
我搜索了很多但无法得到任何解决方案。
答案 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.'))