SQLite typeof()是否也适用于SQL?

时间:2013-12-20 18:49:39

标签: c# mysql sql .net sqlite

要获取列'DataType,我在C#中使用以下代码

System.Data.SQLite.SQLiteConnection con = new System.Data.SQLite.SQLiteConnection("Data Source=C:\\Users\\SaMax\\Documents\\CustomersDB.s3db; Version=3; FailIfMissing=True;");
System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand("select typeof(Column_Name) from Table_Name;");
cmd.Connection = con;

try
{
    con.Open();
    string str = cmd.ExecuteScalar().ToString();
    con.Close();
    MessageBox.Show(str);
}
catch (Exception ex)
{
    MessageBox.Show(ex.ToString());
}

有效。但是我想知道它是否正常,对SQL,MySql也是如此。

2 个答案:

答案 0 :(得分:0)

  

我想知道是否可以

在不知道你的意图的情况下很难说,但除非你正在编写高度动态的东西,否则你事先已经知道了什么是列的类型。你为什么要运行这个查询?

  

和SQL的确定

它不是标准SQL,它是SQLite特有的功能。其他SQL风格可能类似于获取列的类型,但您不能使用相同的SQL字符串并期望它可以在任何数据库上工作。

答案 1 :(得分:0)

SQL-Server

试试这个:

SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS where   
  TABLE_NAME='Product' and COLUMN_NAME='Id'