簡體   English   中英

.NET C#mysql SUBSTRING給了我System.Byte []?

[英].NET C# mysql SUBSTRING gives me System.Byte[]?

這段代碼:

SELECT SUBSTRING(posted,1,4) as year FROM styles
reader = cmd1.ExecuteReader(CommandBehavior.CloseConnection);
reader.Read();
Response.Write(reader[0].ToString());

我只得到打印出來的字符串“ System.Byte []”。 怎么會?

如果使用軟件Mysql Query Browser,則會從數據庫中獲取實際的字符串。

我知道“ Byte []”是一個數組列表,但是如何將其轉換為純字符串?

我數據庫中的“已發布”字段包含一個類似於“ 2010-04-04 13:23:00”的日期,我想通過使用SUBSTRING僅獲得年份。

您將需要使用.GetString

reader[0].GetString(0);

另外,您可以使用MySQL YEAR函數從日期中提取年份。

SELECT YEAR(date_field) FROM table

正確的查詢是

SELECT DISTINCT SUBSTRING(CONVERT(varchar, posted, 111),1,4) as year FROM styles

等於

SELECT STR(YEAR(posted)) as year FROM styles-- YEAR returns int statement

轉換第一個參數,然后提取子字符串。 111-轉換格式: http ://www.mssqltips.com/tip.asp?tip= 1145

也試試

reader["year"].ToString();

就您使用此別名而言。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM