我使用Visual Studio 2013,尝试在Table Adapter Query Builder(在DataSet.XSD中)中使用某些功能(例如" cast"和Year)。我每次都会得到erroe messgae。我在其他sql程序上运行sql语句,它工作正常。有没有人面对这个问题?
答案 0 :(得分:2)
您的dataSource是SQL Server还是SQLite。如果您使用SqLite,则不允许使用诸如Year(),Cast()之类的函数。
如果您使用的是SQLite,请在下面找到日期时间函数参考链接,
https://www.sqlite.org/lang_datefunc.html
正如您要求使用Cast函数,有SO post描述了强制转换函数,它类似于SQL Server
SQLite支持CAST和:
Casting an INTEGER or REAL value into TEXT renders the value as if via sqlite3_snprintf() except that the resulting TEXT uses the
数据库连接的编码。
所以你可以这样做:
从some_table中选择强制转换(some_integer_column作为文本);
或者,根据你想要做什么,你可以只对待 数字作为字符串,让SQLite强制它认为合适的类型:
选择some_int || some_table的'煎饼';选择some_int || “” 来自some_table;
答案 1 :(得分:1)
SQLite没有此功能YEAR(...)
。请改为strftime('%Y', degrees.ExamDate) = '2017'
。