code: @Override
  	public String getSQLLexicalFormDatetime(String v) {
  		String datetime = v.replace('T', ' ');
  		int dotlocation = datetime.indexOf('.');
  		int zlocation = datetime.indexOf('Z');
  		int minuslocation = datetime.indexOf('-', 10); // added search from 10th pos, because we need to ignore minuses in date
  		int pluslocation = datetime.indexOf('+');
  		StringBuilder bf = new StringBuilder(datetime);
  		if (zlocation != -1) {
  			/*
  			 * replacing Z by +00:00
  			 */
  			bf.replace(zlocation, bf.length(), "+00:00");
  		}
  
  		if (dotlocation != -1) {
  			/*
  			 * Stripping the string from the presicion that is not supported by
  			 * SQL timestamps.
  			 */
  			// TODO we need to check which databases support fractional
  			// sections (e.g., oracle,db2, postgres)
  			// so that when supported, we use it.
  			int endlocation = Math.max(zlocation, Math.max(minuslocation, pluslocation));
  			if (endlocation == -1) {
  				endlocation = datetime.length();
  			}
  			bf.replace(dotlocation, endlocation, "");
  		}
  		if (bf.length() > 19) {
  			bf.delete(19, bf.length());
  		}
  		bf.insert(0, "'");
  		bf.append("'");
  		
  		return bf.toString();
  	}
docs: *
  Given an XSD dateTime this method will generate a SQL TIMESTAMP value.
  The method will strip any fractional seconds found in the date time
  (since we haven't found a nice way to support them in all databases). It
  will also normalize the use of Z to the timezome +00:00 and last, if the
  database is H2, it will remove all timezone information, since this is
  not supported there.